------- Comment #3 from paolo dot carlini at oracle dot com 2010-08-09 14:20 ------- This is certainly correct, and works as expected:
template <int S, class T> struct foo; template<int S, template<int...> class C, int... II> struct foo<S, C<II...>> { struct bar {}; }; template <int... I> struct A {}; foo<4, A<3>>::bar x; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45236