1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// { dg-do assemble } template <class T, class U> struct Y {}; template <class T> struct X {}; template <class T, class U> void f() { typename X<Y<T, U> >::A a; } template <class T, class U> struct X<Y<T, U> > { };