summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qhash
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-10-26 09:18:00 +0100
committerLars Knoll <lars.knoll@qt.io>2020-11-03 16:28:14 +0100
commita9c52dbdf47a6a070b84c8d34ae3c0c29a8ac1e8 (patch)
tree7ff3b7ea17d1d2a6b860bd6eab60525ff05e25f5 /tests/auto/corelib/tools/qhash
parentba1266baec820ab82b4dccb45f7c248052e8962e (diff)
Fix qHash(QMultiHash)
The old code was trying to convert a multi hash to a QHash. While that worked in Qt 5 it won't compile in Qt 6 anymore. QHashCombineCommutative also can't be used with a std::pair. ADL won't find the correct instance with a namespaced build, as qHash(std::pair) is defined after QHashCommutative. Fix the code to compile and work correctly. Change-Id: Ice2bc3ab4244e310cbbb5e0f31fc11eb14f5faf3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/tools/qhash')
-rw-r--r--tests/auto/corelib/tools/qhash/tst_qhash.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qhash/tst_qhash.cpp b/tests/auto/corelib/tools/qhash/tst_qhash.cpp
index d5a8db7553..d63ed7043e 100644
--- a/tests/auto/corelib/tools/qhash/tst_qhash.cpp
+++ b/tests/auto/corelib/tools/qhash/tst_qhash.cpp
@@ -73,6 +73,7 @@ private slots:
void emplace();
void badHashFunction();
+ void hashOfHash();
};
struct IdentityTracker {
@@ -1754,5 +1755,14 @@ void tst_QHash::badHashFunction()
}
+void tst_QHash::hashOfHash()
+{
+ QHash<int, int> hash;
+ (void)qHash(hash);
+
+ QMultiHash<int, int> multiHash;
+ (void)qHash(multiHash);
+}
+
QTEST_APPLESS_MAIN(tst_QHash)
#include "tst_qhash.moc"