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()13 void g4() {
14   outer.foo<float, double>(Int2Type<3>(), Int2Type<2>());
15 }
16 
17 template<typename... T, template<T...> class X> void f1();
18