// { dg-do assemble } template struct A { typedef T A_Type; }; template struct B : public A { A_Type Func(); // { dg-error "does not name a type" "err" } // { dg-message "note" "note" { target *-*-* } 13 } }; template A::A_Type B::Func() // { dg-error "typename" } function { }