On Mon, 19 Aug 2024 at 22:34, Jonathan Wakely <jwak...@redhat.com> wrote:
>
> On Mon, 19 Aug 2024 at 21:51, Gerald Pfeifer <ger...@pfeifer.com> wrote:
> >
> > On Wed, 12 Oct 2022, Marek Polacek via Gcc-patches wrote:
> > > +<p>
> > > +The two overload resolutions approach was complicated and quirky, so 
> > > users
> > > +should transition to the newer model.  This change means that code that
> > > +previously didn't compile in C++17 will now compile, for example:</p>
> >
> > I looked at this recently and am wondering whether there is a word
> > missing: "two overload" -> "two-stage overload"?
> >
> > If so, the patch below addresses that
> >
> > On the way, I changed "[code] will now compile" to "[code] may now
> > compile", since not every code that failed to compile before will now
> > compile (e.g., syntactically incorrect code).
> >
> > What do you think?
>
> No, it should either be "two-stage overload resolution" or leave it
> unchanged. But "two-stage overload resolutions" (plural) is wrong.

And if I had to choose, I think the original text was better.

It wasn't two stages, it really was doing overload resolution twice.
So there were two overload resolutions.


>
>
> >
> > Gerald
> >
> >
> > diff --git a/htdocs/gcc-13/porting_to.html b/htdocs/gcc-13/porting_to.html
> > index c727d66f..e595e120 100644
> > --- a/htdocs/gcc-13/porting_to.html
> > +++ b/htdocs/gcc-13/porting_to.html
> > @@ -82,9 +82,10 @@ not in C++17).  Then C++23 <a 
> > href="https://wg21.link/p2266";>P2266</a>
> >  removed the fallback overload resolution, and changed the implicit move
> >  rules once again.</p>
> >
> > -<p>The two overload resolutions approach was complicated and quirky, so 
> > users
> > -should transition to the newer model.  This change means that code that
> > -previously didn't compile in C++17 will now compile, for example:</p>
> > +<p>The two-stage overload resolutions approach was complicated and
> > +quirky, so users should transition to the newer model.  This change
> > +means that code that previously didn't compile in C++17 may now
> > +compile, for example:</p>
> >
> >  <pre><code>
> >     struct S1 { S1(S1 &&); };
> >

Reply via email to