https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64063
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- The current handling of the following is still wrong (rejects-valid) independent of DR 1665. It should compile because it can only refer to the template: template<typename T> struct S { void foo(int); template<typename U> void foo(U) { } }; template void S<char>::foo<>(int);