111
|
1 // Copyright (C) 2001 Free Software Foundation
|
|
2 // Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
|
|
3 // { dg-do link }
|
|
4
|
|
5 struct A
|
|
6 {
|
|
7 template <class T> class B {};
|
|
8 };
|
|
9
|
|
10 template <template <class> class TT, class T> struct X
|
|
11 {
|
|
12 TT<int> y;
|
|
13 T z;
|
|
14 };
|
|
15
|
|
16 template <class T> struct X<T::template B, T>
|
|
17 {
|
|
18 typename T::template B<int> y;
|
|
19 T z;
|
|
20 };
|
|
21
|
|
22 template <class T> struct C
|
|
23 {
|
|
24 X<T::template B, A> x;
|
|
25 };
|
|
26
|
|
27 int main()
|
|
28 {
|
|
29 C<A> c;
|
|
30 }
|