The QtCS24 misses the single one big reason you want to switch C++20 now
and whenever possible: Concepts.
They indeed are a total game changer and I'd boldy predict that 80% of
all meta-programming helpers in Qt's headers could be replaced by
concepts that are easier to understand, more expressive, more complete.
You simply do not like C++ if you are not eager to use concepts.
End of the advertisement block.
Mathias
Am 14.10.2024 um 16:56 schrieb Vladimir Minenko via Development:
6) when should we do this?
The last time we discussed C++20, it was made clear that we can only
do such
changes on LTS+1 releases. That's 6.9.
The last time we discussed this was at QtCS24
(https://wiki.qt.io/QtCS2024_C%2B%2B20), where IIRC the conclusion was
that ATM, there is no reason to switch to C++20. So, it is definitely
not in 6.9.
Effectively, I don't see much difference from the current situation,
where we "pretend" that we require C++17 but in reality we just check
that we can pass `-std=c++17` to the compiler. Any usage in Qt code
of individual language/library features still requires protection,
because they're not universally implemented.
And because of this, I once asked to set up a nightly build with
forcedĀ `-std=c++17`, e.g.
https://testresults.qt.io/coin/integration/qt/qtbase/tasks/nightly1728750903.
We already had two cases when C++20-specific code was merged and the
build failed only because of this. There is a notification email set
on failures for this build. There are only people from The Qt Company
so far on it. If someone else is interested, I would gladly change
this and include other people ;-)
--
Vladimir
--
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development