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