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?

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