1// { dg-do assemble } 2// { dg-options "-Wno-deprecated" } 3 4template <class T> 5struct A 6{ 7 typedef T A_Type; 8}; 9 10 11template <class U> 12struct B : public A<U> 13{ 14}; 15 16 17template <class U> 18struct C : public B<U> 19{ 20 A_Type Func(); // { dg-error "does not name a type" } implicit typename 21}; 22 23 24template <class U> 25C<U>::A_Type C<U>::Func() { // { dg-error "typename" } implicit typename 26} // { dg-error "expected" } 27