Investigate ABI impact of the new Qt property system
Open, Needs TriagePublic

Description

Might require that at least one new-style property is present at release time to be able to add more, details are still evolving though.

vkrause created this task.Nov 21 2019, 3:50 PM
Darkstar renamed this task from Investiage ABI impact of the new Qt property system to Investigate ABI impact of the new Qt property system.Dec 8 2019, 1:21 PM

There is an interesting thread on the Qt ML:

[Development] QProperty and library coding guide

Quoting the most relevant part:

For pre-C++20 (where it’s possible to have zero-size structs), and for compilers that don’t respect the no_unqiue_address attribute, all these struct-instances are put into a union. In that case, a class using QProperty will be larger (by the same amount no matter the number of properties) than the same class in Qt 5. With C+++ 20 and compilers that do respect no_unique_address, the size and layout of these classes will be the same.

davidre added a subscriber: davidre.EditedJul 17 2020, 7:07 AM

So once you have a single property you are safe and free to add new properties abi wise no matter the compiler?

fabiank added a subscriber: fabiank.Sep 8 2020, 1:22 PM

With the latest iteration of the property system, properties can be changed from "old-style" to "new-style" in an ABI compatible way, as the long as the class is already PIMPLed. The documentation for how all of this works should hopefully appear before 6.0 beta 1.

bruns added a subscriber: bruns.Oct 15 2020, 4:41 PM

Beta is out, anyone has found out if the documentation is out there?

ervin moved this task from Waiting on Qt Changes to Done on the KF6 board.Mar 27 2021, 2:24 PM