https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66836
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Well "friend void f();" can't match Outer::f because you can't declare a member function like that except in the class' own scope. What GCC and Clang do is what the standard intended to say but fails to say clearly, which is Core issue 138 https://wg21.link/cwg138