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

Volker Hilsheimer volker.hilsheimer at qt.io
Mon Feb 5 11:15:09 CET 2024


From what I see, the open questions from the thread in May are still:

- (paraphrasing Ville) which C++ 20 features are worth breaking (primarily embedded) users who want new Qt version but don’t yet have the compilers that can give them these facilities?

https://lists.qt-project.org/pipermail/development/2023-May/043887.html

And the perspective here needs to be the users of Qt. In Qt, we can often work around missing facilities, if there is a real benefit in doing so. But as long as users can use a more recent C++ language standard for their code without being hobbled by Qt, the list of C++20 features that really would make a difference for Qt users seems to negligible. From what I see, we are years away from doing anything useful with modules and co-routines, as the two biggest items that users of Qt would be interested in and ask about. Have we done any work on any of those, beyond Ville’s work on senders & receivers?

Concepts would be very useful, also for Qt users, because a library of concepts could be useful for users when they create their own APIs; and because it would allow us to comprehensibly document the requirements for our own templates (today we often hide the std::enable_if’ery from documentation, and don’t always provide equivalent information about the requirements to the types used in our templates).
We can perhaps start with that as a documentation feature (qdoc can use libclang with whatever C++ standard it wants).


- which C++ standard do the oldest versions of gcc and clang we support default to (the gcc devs at least strongly advising against explicitly raising the language version from the default)

https://lists.qt-project.org/pipermail/development/2023-May/043915.html

https://gcc.gnu.org/projects/cxx-status.html still documents C++20 as experimental, and C++17 as the default.


Volker


On 5 Feb 2024, at 10:57, Alex Blasche via Development <development at qt-project.org> wrote:

Hi,

For Qt 6.8 we continue to work on Phase 1 item https://bugreports.qt.io/browse/QTBUG-109360. In other words we will not  mandate C++20 compilers in Qt 6.8 yet. An LTS release is not the right for such a breaking change anyway. The possible releases for such a drastic change are 6.9 or 6.12 (releases immediately following an LTS release). Note that I am not cofirming those releases but merely point out which type of releases could be potential options.

Considering the track record we have when getting Phase 1 items into the release and considering existing customer concerns I have a hard time believing that 6.9 is a serious option. This is my personal opinion.

--
Alex


________________________________________
From: Development <development-bounces at qt-project.org> on behalf of Thiago Macieira <thiago.macieira at intel.com>
Sent: Saturday, 3 February 2024 18:13
To: development at qt-project.org
Subject: Re: [Development] About the timeline and phases to support C++20 with and in Qt

On Wednesday, 21 December 2022 09:51:52 PST Vladimir Minenko via Development
wrote:
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

Those tasks haven't got any updates recently. What's the status?

I'd like to ask that we go to #3 for 6.8 or 6.9.


--
Thiago Macieira - thiago.macieira (AT) intel.com
 Cloud Software Architect - Intel DCAI Cloud Engineering
--
Development mailing list
Development at qt-project.org
https://lists.qt-project.org/listinfo/development

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20240205/08578c04/attachment-0001.htm>


More information about the Development mailing list