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