[Development] 6.7 FF vs. C++20 comparisons

Marc Mutz marc.mutz at qt.io
Wed Dec 13 12:46:57 CET 2023


Hi,

TL;DR: is the conversion of a class to the new comparison helper a 
"feature"?

So, the framework, incl. the necessary qdoc command and some ports of 
classes (QDate/Time) have made it into 6.7 last week, but the current 
state of the code excludes some helper functions necessary for product 
types (compareThreeWayMulti) and pointers (Private::total), as well as 
the actual qdoc macros we want to use for documentation 
(\equality-comparable, \partially_ordered_with, ...). We also have not 
managed to roll this out over more classes.

The helpers are private API at this point, to not subject to FF, but 
they're used to convert more classes to the new framework.

The question I have, therefore, is the following: is converting more 
classes to the new framework considered a feature as in "affected by FF"?

The argument for is that classes (at least ordered ones) then gain the 
<=> operator in C++20 builds.

The counter-argument is that this doesn't change much because the C++ 
standard knows an operation called

If so, I'd like to request a FF-exception to continue the rollout to at 
least all string and smart pointer types and the already-up-for-review 
QModelIndex/QPersistentModelIndex.

Without this, it's hard to prove out the framework actually works in all 
cases.

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at qt.io>
Principal Software Engineer

The Qt Company
Erich-Thilo-Str. 10 12489
Berlin, Germany
www.qt.io

Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht Charlottenburg,
HRB 144331 B


More information about the Development mailing list