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