111
|
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> {};
|