https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64063
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Apparently EDG instantiates the member function template, which is not what I wanted: template<typename T> struct S { void foo(int) { } template<typename U> void foo(U); // undefined }; template void S<char>::foo(int); // XXX "inst.cc", line 8: error: function "S<T>::foo(U) [with T=char, U=int]" cannot be instantiated -- no template definition was supplied template void S<char>::foo(int); // XXX ^ Is there no syntax for instantiating the non-template?