https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107408
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- EDG gets it right: "t.C", line 6: error: name followed by "::" must be a class or namespace name template<class T> template<class U> S::S(U) { } ^ "t.C", line 6: error: argument list for class template "S" is missing template<class T> template<class U> S::S(U) { } ^ 2 errors detected in the compilation of "t.C".