1 struct B { template <typename U> struct C; }; 2 template <typename T> struct A { typedef typename T::C V; }; // { dg-error "not a type" } f()3 void f () { A<B>::V p; } // { dg-message "required" } 4