[Development] Requesting Feature Freeze Exception for C++20 comparison

Volker Hilsheimer volker.hilsheimer at qt.io
Mon Jun 5 09:24:10 CEST 2023


> On 4 Jun 2023, at 23:26, Thiago Macieira <thiago.macieira at intel.com> wrote:
> 
> On Sunday, 4 June 2023 11:51:54 PDT Marc Mutz via Development wrote:
>>> The other problem is I want to take a second, thorough look at your
>>> #ifdefs
>>> for C++20. I have a feeling some of the changing return types are a recipe
>>> for binary compatibility problems, if not in our own code, then in code
>>> that uses our code. I need to sit down and think about whether this is a
>>> valid scenario or not.
>> 
>> All functions that alternate between returning Q*Ordering and
>> std::*_ordering must be, and are, inline non-exported.
> 
> And that's exactly what I want to look at. It doesn't affect *our* binary 
> compatibility, but may affect downstream of us. Worse than a clear binary 
> compatibility problem would be a silent data incompatibility problem (in 
> particular, the value of the Unordered constant).
> 
> I don't want to rush this. If you want to preemptively remove the problem by 
> not changing the return type, then one area of my concerns goes away.

Lets continue with this for Qt 6.7.

Even if we agree on the naming and can exclude binary compatibility issues, rolling this out to all (or at least a substantial amount of) existing value types across submodules is still a larger effort that should then wait for 6.7 anyway.

Volker




More information about the Development mailing list