+++ This bug was initially created as a clone of Bug #35022 +++ This code snippet should be accepted: template<typename... T, template<T...> class X> void foo(X<0>); but it fails with sorry, unimplemented: use of ‘type_pack_expansion’ in template This is related to bug 54440.
More testcase: template<typename... T, template<T...> class X> void foo(X<0>); template<typename... T, template<T> class... X> void bar(X<0>...); template <int I> struct A { }; template <unsigned U> struct B { }; int main() { foo<int>(A<0>()); bar<int,unsigned>(A<0>(),B<0>()); }
Well, confirmed.
GCC 4.9.0 has been released
GCC 4.9.1 has been released.
GCC 4.9.2 has been released.
GCC 4.9.3 has been released.
GCC, ICC and MSVC all rejects this. Clang accepts this.