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