// Origin PR c++/51641 // { dg-do compile } struct A { struct B { typedef int X; }; }; template struct C : A { B::X q; // Ok: A::B. struct U { typedef int X; }; template struct D; }; template template struct C::D { typename U::X r; // { dg-error "" } }; C::D y;