// { dg-do assemble } // { dg-options "-Wno-deprecated" } template struct A { typedef T A_Type; }; template struct B : public A { }; template struct C : public B { A_Type Func(); // { dg-error "does not name a type" } implicit typename }; template C::A_Type C::Func() { // { dg-error "typename" } implicit typename }