// { dg-do compile } // Contributed by Matt Austern // PR c++/13407: Gracefully handle keyword typename in base class specifier. struct A { }; struct B { typedef A Type; }; template struct X : public typename T::Type // { dg-error "not allowed in this context" } { }; X x; struct C : public typename A // { dg-error "not allowed outside of templates" } { };