1 // { dg-do compile { target c++11 } } 2 template<int N> struct Int2Type { }; 3 4 template<typename... T> 5 struct Outer { 6 template<typename... U> 7 void foo(Int2Type<sizeof...(T)>, Int2Type<sizeof...(U)>); 8 }; 9 10 11 Outer<short, int, long> outer; 12 g4()13void g4() { 14 outer.foo<float, double>(Int2Type<3>(), Int2Type<2>()); 15 } 16 17 template<typename... T, template<T...> class X> void f1(); 18