[Development] Qt 5 types under consideration for deprecation / removal in Qt 6

Konstantin Tokarev annulen at yandex.ru
Wed May 29 15:09:54 CEST 2019

29.05.2019, 15:52, "Mutz, Marc via Development" <development at qt-project.org>:
> On 2019-05-29 13:52, Konstantin Tokarev wrote:
>>  29.05.2019, 13:56, "Mutz, Marc via Development"
>>  <development at qt-project.org>:
>>>  Hi,
>>>  Here's a list of stuff I consider has served it's purpose and is no
>>>  longer needed, with respective replacements:
>>>  = Priority 1 =
>>>  == QSharedDataPointer / QExplicitlySharedDataPointer ==
>>  It seems like you've forgotten migration path here.
>>  Or are all those who use intrusive reference counting in their classes
>>  on their own since now?
> Do you actually think it's Qt's job to define how _you_ implement your
> classes? 

Of course no. Except the part where Qt is a framework which heavily
defines which classes should I inherit, which methods to override, etc,,
it has no influence on implementation of my own classes. And it would be
really weird if it provided simple base class QSharedData and a couple
of related smart pointers to implement shared ownership of data. And of
course, all Qt users are willing to add boost to their dependencies (with
all related headaches).

> In my projects, I've _always_ written my own pimpl_ptr, because
> I might want to use it in backend components that don't use Qt.
> I'd suggest boost::intrusive_ptr. It has a whole ecossytem with
> intrusive containers attached to it, IIRC.

Great, but it's not a part of standard library, and all these extra features
might not outweight having to deal with Boost.

> And to be clear: I'm not advocating removing any of these from Qt 6.
> Personally, I'd deprecate them in Qt 5.14, port Qt itself away from all
> of these, inline everything in 6.0, or else move it to libQt5Support, so
> that a QT_DISABLE_DEPERECATED_SINCE=5.last build of Qt is as compatible
> as humanly possibly for a user not setting that flag, and then remove
> that stuff come Qt 7, if ever.
> But AFAIU, that's not the plan right now.

Huh, what was "Priority 1" headline supposed to mean then? Sounded like a list
of things to be removed ASAP.


More information about the Development mailing list