// PR c++/11987 template struct X { struct I { I(); }; }; template struct Y : X { typedef typename X::I I; }; // note: I is nested type in X, not Y! template Y::I::I () {} // { dg-error "dependent typedef" "typedef" } // { dg-error "no type|dependent type" "no type" { target *-*-* } 13 } template struct Y<1>;