1 // { dg-do compile { target c++11 } }
2 template<typename T1, typename T2>
3 struct pair {};
4 
5 template<typename... Args>
6 struct tuple {
7   static const int value = 0;
8 };
9 
10 template<>
11 struct tuple<pair<int, float> > { };
12 
13 template<typename... Outer>
14 struct X {
15   template<typename... Inner>
16   struct Y
17   {
18     typedef tuple<pair<Outer, Inner>...> type; // { dg-error "mismatched argument pack lengths" }
19   };
20 };
21 
22 X<int, double>::Y<short, char, double>::type honk;
23