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