1 2 3 4 5 6 7 8 9
template<class T> struct C1 { template<class U> struct C2 { class Type { }; }; }; template<class T, class U> void foo(typename C1<T>::C2<U>::Type *) { } // { dg-error "template" "error " } // { dg-message "note" "note" { target *-*-* } 8 }