https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115801

Nathaniel Shead <nshead at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-invalid-code         |ice-on-valid-code

--- Comment #4 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
> (In reply to Nathaniel Shead from comment #2)
> > On looking further into it I believe this is ice-on-invalid.
> > 
> > By https://eel.is/c++draft/temp.friend#2, within main.cpp the name ::Foo is
> > looked up as if the specialisation had been explicitly declared at its point
> > of instantiation.
> 
> Are you saying that this paragraph requires a name lookup of ::Foo at the
> point of instantiation? I thought this paragraph is about how the
> instantiation affects future name lookup, as the note describes.
> 
> The idea that I can't befriend an internal helper class without exporting it
> seems surprising.

Ah, perhaps; that does make some sense (and prevents conflict with
https://eel.is/c++draft/temp.res.general#1), and seems like the more useful
interpretation anyhow.

Reply via email to