diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2023-01-27 11:41:35 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-02-02 16:20:06 +0000 |
commit | 2e810b2f8a9ff1f9b79be4fc81e9b14e02d91dcf (patch) | |
tree | 287491b6b8d446b91278f92be94b8b84fd4a8646 /src | |
parent | 23ea1271b7ffdf182eef82107645e2ebe2cf7ff2 (diff) |
Explicitly =delete {in}equality operators for CAN parser value calsses
... so that the users could not provide their own implementations and
potentially get an ODR violation.
For unit-tests provide
bool equals(lhs, rhs)
functions instead.
The drawback of this approach is that we need to use
QVERIFY(equals(actual, expected));
QVERIFY(!equals(actual, expected));
instead of
QCOMPARE_EQ(actual, expected);
QCOMPARE_NE(actual, expected);
The former will produce less informative error messages in case of test
failures.
This commit amends 8db3c1142248e4564e8b90db61ad1bdf13164453.
Change-Id: I6a476f4af84232e9a31705a633de2a2a0647180f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 35ca3f143ff464d77c83976add6864bff6824dc1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/serialbus/qcanmessagedescription.h | 4 | ||||
-rw-r--r-- | src/serialbus/qcansignaldescription.h | 4 | ||||
-rw-r--r-- | src/serialbus/qcanuniqueiddescription.h | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/serialbus/qcanmessagedescription.h b/src/serialbus/qcanmessagedescription.h index 1cf7b55..522cbd9 100644 --- a/src/serialbus/qcanmessagedescription.h +++ b/src/serialbus/qcanmessagedescription.h @@ -59,6 +59,10 @@ private: friend class QCanMessageDescriptionPrivate; friend void qHash(const QCanMessageDescription &desc, size_t seed) noexcept = delete; + friend void operator==(const QCanMessageDescription &lhs, + const QCanMessageDescription &rhs) noexcept = delete; + friend void operator!=(const QCanMessageDescription &lhs, + const QCanMessageDescription &rhs) noexcept = delete; #ifndef QT_NO_DEBUG_STREAM friend QDebug operator<<(QDebug dbg, const QCanMessageDescription &msg) diff --git a/src/serialbus/qcansignaldescription.h b/src/serialbus/qcansignaldescription.h index 89e48c8..65fd1f2 100644 --- a/src/serialbus/qcansignaldescription.h +++ b/src/serialbus/qcansignaldescription.h @@ -114,6 +114,10 @@ private: friend class QCanSignalDescriptionPrivate; friend void qHash(const QCanSignalDescription &desc, size_t seed) noexcept = delete; + friend void operator==(const QCanSignalDescription &lhs, + const QCanSignalDescription &rhs) noexcept = delete; + friend void operator!=(const QCanSignalDescription &lhs, + const QCanSignalDescription &rhs) noexcept = delete; #ifndef QT_NO_DEBUG_STREAM friend QDebug operator<<(QDebug dbg, const QCanSignalDescription &sig) diff --git a/src/serialbus/qcanuniqueiddescription.h b/src/serialbus/qcanuniqueiddescription.h index 06b89a2..3d22628 100644 --- a/src/serialbus/qcanuniqueiddescription.h +++ b/src/serialbus/qcanuniqueiddescription.h @@ -46,6 +46,10 @@ private: friend class QCanUniqueIdDescriptionPrivate; friend void qHash(const QCanUniqueIdDescription &desc, size_t seed) noexcept = delete; + friend void operator==(const QCanUniqueIdDescription &lhs, + const QCanUniqueIdDescription &rhs) noexcept = delete; + friend void operator!=(const QCanUniqueIdDescription &lhs, + const QCanUniqueIdDescription &rhs) noexcept = delete; }; QT_END_NAMESPACE |