[Development] QThread::create mandatory in Qt 6?
thiago.macieira at intel.com
Sat Nov 14 04:51:54 CET 2020
QThread::create is still behind a few #ifdefs in Qt 6. It requires:
1) a configure-time check for C++11 std::future and std::async
2) a compile-time check for C++14 std::invoke and some C++14 language features
#1 enables the create() function at all; #2 enables the ability to pass a
callable that takes argumentst and those extra arguments to create() .
During Qt 5 that made sense because we only required C++11. Qt 6 requires
C++17 core language. Do we also want to require C++17 standard library? Or at
least the C++14 standard library? Or even the C++11 library?
The reason I ask is that there is one platform in the CI that is currently
failing to compile some QThread::create-using code because even #1 is failing.
That is, it doesn't have complete C++11 standard library support (or the cmake
test is failing for other reasons).
Do we want to kick it to the curb?
I think we should require #1 and #2 to pass and simply remove the tests.
Simply make qthread.h assume they are there and let the build fail if not.
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel DPG Cloud Engineering
More information about the Development