[Development] Requesting forward BC exception for QtWaylandCompositor in 6.2 and 5.15

Marc Mutz marc.mutz at qt.io
Tue Feb 22 08:03:52 CET 2022


Can we have a decision here? The windows for 6.2.4 as well as 6.3 are closing. After considering multiple solutions, I'm favouring a clean solution as per https://codereview.qt-project.org/c/qt/qtwayland/+/395784 (will require massaging, as we don't have QT_REMOVED_SINCE in Qt < 6.3). If people want to experiment with differing C++20 and C++17 APIs when we don't even have C++20 on the CI, yet, they may be my guests. I already sunk more than enough time into this.

It's a brown paper bag. We can blame Clang in the ChangeLog. Let's suck it up and move on.

Thanks,
Marc
________________________________
From: Development <development-bounces at qt-project.org> on behalf of Lars Knoll <lars.knoll at qt.io>
Sent: Thursday, February 17, 2022 9:01 AM
To: Macieira, Thiago <thiago.macieira at intel.com>
Cc: Qt development mailing list <development at qt-project.org>
Subject: Re: [Development] Requesting forward BC exception for QtWaylandCompositor in 6.2 and 5.15


> On 16 Feb 2022, at 18:10, Thiago Macieira <thiago.macieira at intel.com> wrote:
>
> On Tuesday, 15 February 2022 07:54:07 PST Marc Mutz wrote:
>> https://bugreports.qt.io/browse/QTBUG-100845
>>
>> The QWaylandBufferRef class has a very annoying bug in that its relational
>> operators cannot compare `const` objects (only on the RHS). That's because
>> these operators are implemented as members, but are not const. Since
>> they're not const, they cannot be called with a const LHS...
>
> By the way, how often is this done? What's the exposure in the real world?

Wayland Compositor is not the most often used module in Qt. I think most users are on embedded devices. That also means I wouldn’t be overly concerned about a FW BC break in that module. Still it’s good if we can avoid it.
>
> The pre-6.3 implementation could be #if __cplusplus <= 20200000

That could actually be a solution for 6.2. We keep the old API if you compile in C++17 mode and only enable the new methods in C++20 mode. Requires a bit of work on our side to make sure the symbols are in the libraries as required, but otherwise it’s basically about what we expose in the header.

Cheers,
Lars

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

_______________________________________________
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/20220222/29af3db9/attachment.htm>


More information about the Development mailing list