1 // PR c++/57138
2 // { dg-do compile { target c++11 } }
3 
4 template <template <typename ... X> class T, typename ... Y>
5 struct D
6 {
7   template <typename ... Z>
8   using type = T <Y..., Z...>;	// { dg-error "pack expansion" }
9 };
10 template <typename T>
11 class A {};
12 template <typename X, typename Y>
13 struct B;
14 template <typename T>
15 struct B <int, T>
16 {
17   typedef A <T> type;
18 };
19 template <typename X, typename Y>
20 using C = typename B <X, Y>::type;
21 struct E : public D <C> {};
22