qt5base-lts/tests/auto/corelib/thread
Sona Kurazyan ff0ba7e2d7 Forbid implicit conversions between QFuture and other types
- Remove the casting operator of QFuture<T> to T. It calls
  QFuture::result(), which may lead to undefined behavior if the user
  has moved the results from QFuture via QFuture::takeResult() before
  trying to do the conversion.

- Disable implicit conversion of QFuture<T> to QFuture<void>, by making
  the constructor explicit. If the users really intend to do the
  conversion, they should do it explicitly.

[ChangeLog][Source-Incompatible Changes][QFuture] Implicit conversions
of QFuture<T> to T and to QFuture<void> have been disabled. Use
QFuture::result() or QFuture::takeResult() where you need to convert
QFuture<T> to T. Use the explicit QFuture<void>(const QFuture<T> &)
constructor to convert QFuture<T> to QFuture<void>.

Change-Id: I153d4137d36365b1611ac934fb3ac2eb667fdd6c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2020-10-30 17:19:26 +01:00
..
qatomicint Drop constexpr from QAtomicTraits::isLockFree() 2020-10-20 10:49:30 +02:00
qatomicinteger Drop constexpr from QAtomicTraits::isLockFree() 2020-10-20 10:49:30 +02:00
qatomicpointer Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
qfuture Forbid implicit conversions between QFuture and other types 2020-10-30 17:19:26 +01:00
qfuturesynchronizer Remove the comparison operators of QFuture 2020-10-29 14:19:35 +01:00
qfuturewatcher Forbid implicit conversions between QFuture and other types 2020-10-30 17:19:26 +01:00
qmutex Split QMutex and QRecursiveMutex 2020-10-17 12:02:56 +02:00
qmutexlocker CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qpromise Rename QPromise starting and finishing methods to start and finish 2020-10-16 09:48:10 +02:00
qreadlocker CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qreadwritelock Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
qresultstore Clear pending results in ResultStore 2020-10-09 16:26:01 +02:00
qsemaphore Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
qthread Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
qthreadonce CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qthreadpool Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
qthreadstorage CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qwaitcondition CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qwritelocker CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
.prev_CMakeLists.txt CMake: Skip / ignore failing tests on CMake platforms 2020-07-01 14:55:29 +02:00
CMakeLists.txt CMake: Skip / ignore failing tests on CMake platforms 2020-07-01 14:55:29 +02:00
thread.pro Add QPromise implementation 2020-06-09 17:21:38 +03:00