summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/thread/qfuture.h5
-rw-r--r--src/corelib/thread/qpromise.h5
-rw-r--r--tests/auto/corelib/thread/qpromise/tst_qpromise.cpp1
3 files changed, 4 insertions, 7 deletions
diff --git a/src/corelib/thread/qfuture.h b/src/corelib/thread/qfuture.h
index 748b3a5403..8c04b8c437 100644
--- a/src/corelib/thread/qfuture.h
+++ b/src/corelib/thread/qfuture.h
@@ -59,10 +59,9 @@ class QFutureWatcher;
template <typename T>
class QFuture
{
- static_assert (std::is_copy_constructible_v<T>
- || std::is_move_constructible_v<T>
+ static_assert (std::is_move_constructible_v<T>
|| std::is_same_v<T, void>,
- "Type with copy or move constructors or type void is required");
+ "A move-constructible type or type void is required");
public:
QFuture()
: d(QFutureInterface<T>::canceledResult())
diff --git a/src/corelib/thread/qpromise.h b/src/corelib/thread/qpromise.h
index 68645ef084..e453f29b6a 100644
--- a/src/corelib/thread/qpromise.h
+++ b/src/corelib/thread/qpromise.h
@@ -52,10 +52,9 @@ QT_BEGIN_NAMESPACE
template<typename T>
class QPromise
{
- static_assert (std::is_copy_constructible_v<T>
- || std::is_move_constructible_v<T>
+ static_assert (std::is_move_constructible_v<T>
|| std::is_same_v<T, void>,
- "Type with copy or move constructors or type void is required");
+ "A move-constructible type or type void is required");
public:
QPromise() = default;
Q_DISABLE_COPY(QPromise)
diff --git a/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp b/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp
index 8321b4126f..52f4daa24a 100644
--- a/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp
+++ b/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp
@@ -77,7 +77,6 @@ private slots:
struct TrivialType { int field = 0; };
struct CopyOnlyType {
- Q_DISABLE_MOVE(CopyOnlyType)
constexpr CopyOnlyType(int field = 0) noexcept : field(field) {}
CopyOnlyType(const CopyOnlyType &) = default;
CopyOnlyType& operator=(const CopyOnlyType &) = default;