[Development] About the timeline and phases to support C++20 with and in Qt

Volker Hilsheimer volker.hilsheimer at qt.io
Wed May 3 17:56:07 CEST 2023


Bumping this thread up in your inboxes as it includes the links to the JIRA tickets where the journey towards C++20 has been planned and discussed so far. Let's try to build on what we already know.

The standing proposal is to move to C++20 with Qt 6.9, after the next LTS release. I see no pressing reasons to accelerate that. The value of the features Thiago listed - which excludes all the big stuff anyway - doesn’t seem so significant that it outweighs the impact on the community of users that are stuck on C++17, for a variety of reasons that we can’t just shrug off.

However, C++23 adds a bunch of improvements, and perhaps it’s a much smaller challenge for compiler vendors to support after C++20. If we stick to the timeline of making a disruptive C++ version move with Qt 6.9 in H1/2025, then perhaps we should skip C++20 and immediately require C++23. People that can move to a C++20 toolchain in 2025 can perhaps just as well move to a C++23 toolchain at that point. That needs more investigation, of course. But given the inevitable pain that comes with changing minimum requirements, moving to a standard that is already 5 years old seems a bit wasteful.


Volker



> On 21 Dec 2022, at 18:51, Vladimir Minenko via Development <development at qt-project.org> wrote:
> 
> Hello all,
> 
> I want to share on this mailing list a proposal for the timeline and phases to support C++20 with and in Qt. Writing this, I’m aware that there were other discussions about the support of C++20 on this mailing list. This message is a step to get a list of features that all Qt users can expect along a certain timeline. We want to make the landing with the adoption of new C++ standards “softer” than it used to happen in the past, yet prompt enough to make sure that Qt keeps and enlarges its popularity among C++ developers.
> 
> We got four user stories on Qt Bug Reports:
> 
> 1. Use C++20 code with Qt - https://bugreports.qt.io/browse/QTBUG-109360
> 2. C++20 is required for the development of Qt itself - https://bugreports.qt.io/browse/QTBUG-109361
> 3. C++20 is mandatory for users of Qt - https://bugreports.qt.io/browse/QTBUG-109362
> 4. Long term: C++23, Qt7, and unsorted  - https://bugreports.qt.io/browse/QTBUG-109363
> 
> These user stories are linked to selected features from the list once created by Marc in https://bugreports.qt.io/browse/QTBUG-99243
> 
> The above list is sorted in the order of time. Still, a particular "Fix Version” is not set yet. We (all) have to set this, though. ASAP for #1, and by the time we ship the version set in #1, we should set the version for #2, etc. See the list of all releases at https://wiki.qt.io/QtReleasing#Qt_releases
> 
> In addition, there is a task https://bugreports.qt.io/browse/QTBUG-109469 to add a new page or extend an existing page (Supported Platforms?) with details about the support of C++ standards. Plus, we need to get a simple way to test the capabilities of a toolchain, see https://bugreports.qt.io/browse/QTBUG-109470.
> 
> The latter should be a help mainly for Qt users on embedded platforms. Those folks have serious problems again and again with "fast moves” towards new C++ standards since they do not have the luxury of quick updates of compilers and standard libraries as known on desktops.
> 
> Please have a look at the above issues, comment on Qt Bug Reports, and make changes if applicable.
> 
> And now, the most important point ;-) - Merry Christmas and Happy New Year!
> 
> --
> Vladimir Minenko
> vladimir.minenko at qt.io
> +49 171 90 61 461
> 
> Senior Product Manager, Qt Foundation
> The Qt Company - https://qt.io
> 
> c/o Regus / Josephspitalstraße 15
> 80331 Munich, Germany
> 
> 
> 
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development



More information about the Development mailing list