1 //PR c++/28303 2 3 template<typename T> struct A 4 { 5 typedef struct typename T::X X; // { dg-error "expected identifier|two or more" } 6 }; 7 X()8 template<typename T> A<T>::X::X() {} // { dg-error "not a type|forbids declaration|invalid use of" } 9