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