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

2019-05-29 Thread Mutz, Marc via Development
On 2019-05-29 20:21, Vitaly Fanaskov wrote: After all, STL updates approximately once in three years. So, we can easily follow all changes and update Qt API accordingly. It’s probably worth reusing something (e.g. time suffixes from chrono), but carefully. Well, yes. If Qt _had_ a track-record

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

2019-05-29 Thread Mikhail Svetkin
Well I checked it with MinGW. The result was not so good. Thank you, I will try to run benchmark with latest MSVC. Best regards, Mikhail On Wed, 29 May 2019 at 20:37, Philippe wrote: > For Windows, I am sure QMutex wins (with Visual Studio 2017). > Not only I got much better figures, but trac

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

2019-05-29 Thread Philippe
For Windows, I am sure QMutex wins (with Visual Studio 2017). Not only I got much better figures, but tracing the assembly code of QMutex vs std::mutex shows you why QMutex is better. Easy to check. In release mode of course. Philippe On Wed, 29 May 2019 20:12:05 +0200 Mikhail Svetkin wrote: >

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

2019-05-29 Thread Vitaly Fanaskov
All these have the same issue: You are proposing to deprecate Qt types in favor of STL types, which have a different naming convention (_ vs. camel case) and often terse, harder to understand names (e.g., ptr vs. Pointer, push/pop for a queue vs. enqueue/dequeue, etc.), and which do not support CoW

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

2019-05-29 Thread Mikhail Svetkin
> The implementation of QMutex, and especially QReadWrtieLock is much more efficient that one of most standard library. I have run some benchmarks recently and the result did not show the QMutex was the best. I published the results here: 1. https://bugreports.qt.io/browse/QTBUG-71036?focu

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

2019-05-29 Thread Kevin Kofler
Mutz, Marc via Development wrote: > == QSharedDataPointer / QExplicitlySharedDataPointer == > > These are basically Qt-internals, and should never have been public in > the first place. Why? They are essential to be able to implement one's own CoW types and thus write idiomatic Qt code. I use Q

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

2019-05-29 Thread Vitaly Fanaskov
Well, but what about MSVC, for example, or some other compilers/|platforms? This is rhetorical question, of course. I just want to say, that we cannot guarantee this sort of compatibility for all build configurations. Hence, this is unreliable unless we have a sort of public contract like “we gu

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

2019-05-29 Thread Vitaly Fanaskov
Do you know is there is any official policy published? I’ve tried to look into both internet and intranet, but found pretty much nothing. I entirely agree with increase of using new language features and STL, but it should be done wisely and under well-defined policy. If we don’t have one, we n

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

2019-05-29 Thread Philippe
>I think we could get rid of QThread and get along with std::thread and >std::thread::id QThread being a QObject, lot of user code depends on that. And that's a good dependency IMHO. I don't see any interest of getting rid of QThread, on the contrary. Philippe __

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

2019-05-29 Thread Olivier Goffart
On 29.05.19 17:17, Mutz, Marc via Development wrote: But of course, that's a fallacy, because as soon as Qt internally uses said inline functions, every use of them by the user with a different STL is an ODR violation and therefore UB. So, again AFAICT, the decision was that we can use std type

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

2019-05-29 Thread Allan Sandfeld Jensen
On Mittwoch, 29. Mai 2019 15:33:23 CEST Giuseppe D'Angelo via Development wrote: > Il 29/05/19 12:53, Mutz, Marc via Development ha scritto: > > == QSet / QHash -> std::unordered_set/map == > > > > I'd really like to see these gone. Mainly to free up their names for OA > > hash containers, someth

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

2019-05-29 Thread Mutz, Marc via Development
On 2019-05-29 16:06, Vitaly Fanaskov wrote: === QAtomic -> std::atomic === It already is just a thin wrapper around std::atomic, so there's not much point keeping it. There is the interesting question in light of this: are we really going to widely use std::* in public interfaces of Qt? If so,

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

2019-05-29 Thread Olivier Goffart
On 29.05.19 12:53, Mutz, Marc via Development wrote: == MT plumbing == Let's make use of the std facilities to enable checkers such as TSAN to work without hacks. It's not Qt's business to reimplement threading primitives. Normally, checkers such as TSAN work out of the box. But they kind of

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

2019-05-29 Thread Vitaly Fanaskov
> === QAtomic -> std::atomic === > > It already is just a thin wrapper around std::atomic, so there's not > much point keeping it. There is the interesting question in light of this: are we really going to widely use std::* in public interfaces of Qt? If so, how all related mess is supposed to

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

2019-05-29 Thread Giuseppe D'Angelo via Development
Il 29/05/19 12:53, Mutz, Marc via Development ha scritto: 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 == These are basically Qt-internals, and should ne

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

2019-05-29 Thread Konstantin Tokarev
29.05.2019, 15:49, "drwho" : > On 2019-05-29 6:53 a.m., Mutz, Marc via Development wrote: >>  == QSharedPointer / QWeakPointer -> std::shared_ptr/weak_ptr == >> >>  Once they are stripped of their magic QObject handling and QObject >>  handling returned to QPointer proper, they don't do much othe

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

2019-05-29 Thread Philippe
> Do you actually think it's Qt's job to define how _you_ implement your > classes? Yes, in parts, because there are good Qt concepts to reuse and compose with. > I'd suggest boost::intrusive_ptr. It has a whole ecossytem with > intrusive containers attached to it, IIRC. If you suggest using b

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

2019-05-29 Thread Konstantin Tokarev
29.05.2019, 15:52, "Mutz, Marc via Development" : > On 2019-05-29 13:52, Konstantin Tokarev wrote: >>  29.05.2019, 13:56, "Mutz, Marc via Development" >>  : >>>  Hi, >>> >>>  Here's a list of stuff I consider has served it's purpose and is no >>>  longer needed, with respective replacements: >>>

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

2019-05-29 Thread Mutz, Marc via Development
On 2019-05-29 13:52, Konstantin Tokarev wrote: 29.05.2019, 13:56, "Mutz, Marc via Development" : 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 see

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

2019-05-29 Thread drwho
On 2019-05-29 6:53 a.m., Mutz, Marc via Development wrote: == QSharedPointer / QWeakPointer -> std::shared_ptr/weak_ptr == Once they are stripped of their magic QObject handling and QObject handling returned to QPointer proper, they don't do much other than std::shared_ptr, except being less

[Development] Qt 5.13.0 Beta4 out

2019-05-29 Thread Jani Heikkinen
Hi everyone! We have finally released Qt 5.13.0 Beta4. Delta to Beta3 attached. Please take a tour & make sure possible new release blockers are visible in release blocker list (https://bugreports.qt.io/issues/?filter=20625). All known blockers are fixed and so on we are targeting to get RC out

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

2019-05-29 Thread Jean-Michaël Celerier
> We probably need to keep QRWL around a while longer, since C++ added shared_mutex only in C++17. Wasn't it said at the world summit that Qt 6 would base itself on c++17 ? https://blog.qt.io/blog/2018/06/13/qt-contributors-summit-2018-wrap/ Best, Jean-Michaël On Wed, May 29, 2019 at 12:55 PM M

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

2019-05-29 Thread Mutz, Marc via Development
Ah, I thought you'd might win this one :) On 2019-05-29 13:48, Philippe wrote: [snip usual rambling] === QAtomic -> std::atomic === There would be subbtle traps for code conversion: eg. std::atomic::load() uses std::memory_order_seq_cst while QAtomic::load() uses relaxed ordering That is not

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

2019-05-29 Thread Konstantin Tokarev
29.05.2019, 13:56, "Mutz, Marc via Development" : > 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 p

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

2019-05-29 Thread Philippe
> == QSharedDataPointer / QExplicitlySharedDataPointer == No. Very useful to create COW classes. Why removing this capability for Qt users, while this is a common and useful Qt idiom? >> === QAtomic -> std::atomic === There would be subbtle traps for code conversion: eg. std::atomic::load() uses

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

2019-05-29 Thread Mutz, Marc via Development
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 == These are basically Qt-internals, and should never have been public in the first place. It's _because_

Re: [Development] QList for Qt 6

2019-05-29 Thread Lars Knoll
> On 28 May 2019, at 17:17, Thiago Macieira wrote: > > On Monday, 27 May 2019 04:51:35 PDT Eike Ziller wrote: >>> * QVector for Qt 6 will most likely be updated with the changes Thiago has >>> waiting since quite some years >> What is the summary for these? > > The long story short is that the