summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2021-04-20 12:45:38 +0200
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2021-04-20 20:34:53 +0200
commit7cdf77f5e781edb891bcef1c3cf041e2b5519e2b (patch)
treec941f5276b2d261fc577f6b17b914a62c54bdde0 /tests/auto
parentd83132c62977cf839ff4958749d9b82e5f1ce05a (diff)
tst_qpromise: build fix
The test use aggregate initialization on some classes which however are no longer aggregates in C++20 (the rules changed again; in C++20 having a user-*declared* constructor makes a class not an aggregate). Just add a constructor so the code keeps compiling in both 17 and 20. Fixes: QTBUG-92963 Pick-to: 6.0 6.1 Change-Id: I52371c5ee34c84358987b5ae8bee9ab9c49c8eab Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/thread/qpromise/tst_qpromise.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp b/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp
index b956619e11..8321b4126f 100644
--- a/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp
+++ b/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp
@@ -78,21 +78,21 @@ private slots:
struct TrivialType { int field = 0; };
struct CopyOnlyType {
Q_DISABLE_MOVE(CopyOnlyType)
- CopyOnlyType() = default;
+ constexpr CopyOnlyType(int field = 0) noexcept : field(field) {}
CopyOnlyType(const CopyOnlyType &) = default;
CopyOnlyType& operator=(const CopyOnlyType &) = default;
~CopyOnlyType() = default;
- int field = 0;
+ int field;
};
struct MoveOnlyType {
Q_DISABLE_COPY(MoveOnlyType)
- MoveOnlyType() = default;
+ constexpr MoveOnlyType(int field = 0) noexcept : field(field) {}
MoveOnlyType(MoveOnlyType &&) = default;
MoveOnlyType& operator=(MoveOnlyType &&) = default;
~MoveOnlyType() = default;
- int field = 0;
+ int field;
};
bool operator==(const CopyOnlyType &a, const CopyOnlyType &b) { return a.field == b.field; }
bool operator==(const MoveOnlyType &a, const MoveOnlyType &b) { return a.field == b.field; }