qt6-bb10/tests/auto/corelib/thread
Ivan Solovev 6355568cc0 Fix QtFuture::when{All,Any}() overload resolution
Both whenAll() and whenAny() have two overloads:
* an overload taking two input iterators, e.g.
  whenAll(IntpuIt begin, InputIt end)
* an overload taking an arbitrary number of future objects, e.g.
  whenAll(Futures &&... futures)

The public APIs are properly constrained, but internally they call
QtPrivate::when*Impl() template functions, that have the same two
overloads, but do not have any constraints.

As a result, passing exactly two QFuture<T>{} objects was leading to
the compiler picking the Impl overload that takes a pair of iterators.

Fix it by applying a subset of constraints from the public API to
the private implementation as well.

Amends 102f7d31c4 which was introduced
for Qt 6.3, so picking down to Qt 6.5.

Fixes: QTBUG-131959
Pick-to: 6.5
Change-Id: Ide29ac9a494d07870e92957c40c1f614e56825f8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 8aef5b0d8fd57684abe39c88af8c14d8882ef07b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 90fab1e4e98962ecaff5fd66d218d4f76cb7b8cd)
2025-01-02 19:19:36 +00:00
..
qatomicint Change license for tests files 2024-02-04 09:56:42 +01:00
qatomicinteger Change license for tests files 2024-02-04 09:56:42 +01:00
qatomicpointer Change license for tests files 2024-02-04 09:56:42 +01:00
qfuture Fix QtFuture::when{All,Any}() overload resolution 2025-01-02 19:19:36 +00:00
qfuturesynchronizer Change license for tests files 2024-02-04 09:56:42 +01:00
qfuturewatcher Tests: Reduce the number of module includes 2024-11-04 19:42:27 +00:00
qmutex tst_QMutex[qnx]: increase system timer resolution 2024-03-12 14:23:57 +01:00
qmutexlocker Change license for tests files 2024-02-04 09:56:42 +01:00
qpromise tst_QPromise: complete the port to RUN_TEST_FUNC 2024-11-13 18:04:25 +00:00
qreadlocker Change license for tests files 2024-02-04 09:56:42 +01:00
qreadwritelock Change license for tests files 2024-02-04 09:56:42 +01:00
qresultstore QtPrivate::ResultIteratorBase: use modernize comparisons 2024-05-14 00:32:35 +02:00
qsemaphore Change license for tests files 2024-02-04 09:56:42 +01:00
qthread QThread/Unix: refactor to split QThreadPrivate::finish() in two phases 2024-11-07 15:00:11 -07:00
qthreadonce Change license for tests files 2024-02-04 09:56:42 +01:00
qthreadpool QThreadPool: fix regression with negative expiryTimeout 2024-10-15 12:45:00 +00:00
qthreadstorage Change license for tests files 2024-02-04 09:56:42 +01:00
qwaitcondition Change license for tests files 2024-02-04 09:56:42 +01:00
qwritelocker Change license for tests files 2024-02-04 09:56:42 +01:00
CMakeLists.txt Fix test compilation issues with QtLite configuration 2024-05-06 14:29:02 +00:00