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 } 31