1 // Contributed by Dodji Seketeli <dodji@redhat.com> 2 // Origin: PR c++/26693 3 // { dg-do compile } 4 5 template<class T> struct C0; 6 7 struct Foo { 8 typedef int TypedefedFoo; 9 typedef C0<Foo> TypedefedC0; 10 }; 11 12 template<class T> 13 struct C0 14 { 15 typedef Foo TypedefedFoo; 16 typename T::TypedefedC0::TypedefedFoo m; 17 }; 18 19 template<class U> 20 struct C1 21 { 22 typedef C0<Foo> TypedefedC0; 23 }; 24 25 C0<C1<int> > c; 26