1 // Copyright (C) 2001 Free Software Foundation
2 // Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
3 
4 template <class U> struct A
5 {
6 	template <class V> struct AA {
7 		template <class T> struct B {
8 			int i;
BA::AA::B9 			B() : i(1) {}
10 		};
11 	};
12 };
13 
14 template <template <class> class TT> struct X
15 {
16 	TT<int> y;
17 };
18 
19 template <class T, class U> struct C
20 {
21 	X<T::template AA<U>::template B> x;
22 };
23 
main()24 int main()
25 {
26 	C<A<char>, int> c;
27 }
28