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

Reply via email to