From: Marc Glisse (marc.glisse_at_[hidden])
Date: 2020-07-22 17:06:39
On Wed, 22 Jul 2020, Niall Douglas via Boost wrote:
> On 22/07/2020 17:39, Andrey Semashev via Boost wrote:
>> On 2020-07-22 19:25, Niall Douglas via Boost wrote:
>>> So Peter, seeing as you're the closest person to an expert in C++ 20
>>> operator rewriting that I know of (and there is absolutely nothing about
>>> this on the internet),
>> FWIW, I found this article helpful to understand the new operators
>> TL;DR version is in the summary:
> That was very useful.
> It turns out that for operator== only, C++ 20 will auto reverse it. So,
> in Outcome, I need to disable free function reversed operator== only,
> for C++ 20 and later. I must leave free function reversed operator!= alone.
Because operator== rewriting broke quite a bit of code, some committee
people are trying to revert this change (make it opt-in or something) via
DR. So it may be safer for now to write code in a way that works for both
C++17 and C++20 rules without #ifdefs, where possible (or fully use <=>
where that makes sense, which counts as opt-in).
-- Marc Glisse
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk