qt6-bb10/tests/auto/corelib/tools
Sona Kurazyan a9d51298ae Fix metatype declaration for QHash/QMultiHash with no operator==
When declaring metatypes, the metatype system tries to detect if the
comparison operators for the given type exist and automatically register
them. In case of QHash, the equality operator was enabled if the value
type provides one. But the implementation needs equality operator of
the key type as well. As a result, when the key type has no equality
operator, the metatype system detects that the equality operator is
available for the QHash itself, but the compilation for metatype
registration fails when trying to instantiate the code that uses
equality operator for the key. This is fixed by enabling equality
operators for the QHash only when both the key and value types provide
one.

The same issue existed also for QMultiHash, with the difference, that
QMultiHash didn't have the constraints even on the value type. So added
checks for both.

Fixes: QTBUG-96256
Pick-to: 6.2
Change-Id: Ib8b6d365223f2b3515cbcb1843524cd6f867a6ac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-10-20 17:16:53 +02:00
..
collections Fix metatype declaration for QHash/QMultiHash with no operator== 2021-10-20 17:16:53 +02:00
containerapisymmetry Fix gcc warnings from having only one of assignment/copy 2021-04-11 19:53:51 +02:00
qalgorithms Remove the qmake project files 2021-01-07 15:32:28 +01:00
qarraydata QArrayData: store the right flag type, not an int 2021-05-17 00:11:12 +02:00
qbitarray Remove the qmake project files 2021-01-07 15:32:28 +01:00
qcache Fix gcc warnings from having only one of assignment/copy 2021-04-11 19:53:51 +02:00
qcommandlineparser Compile autotests for Integrity 2021-09-20 17:29:04 +03:00
qcontiguouscache Remove the qmake project files 2021-01-07 15:32:28 +01:00
qcryptographichash Remove conditioning on Android embedded 2021-09-17 17:30:14 +02:00
qduplicatetracker QDuplicateTracker: bring back appendTo() && 2021-07-27 17:44:30 +02:00
qeasingcurve Remove the qmake project files 2021-01-07 15:32:28 +01:00
qexplicitlyshareddatapointer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qflatmap Remove the qmake project files 2021-01-07 15:32:28 +01:00
qfreelist CMake: Remove the usage of QT_SOURCE_TREE from tests 2021-07-12 18:56:14 +02:00
qhash QHash/QSet: fix squeeze() for default-constructed container 2021-07-27 20:57:49 +02:00
qhashfunctions QHash: fix qHash(std::pair) 2021-05-23 12:08:43 -07:00
qhashseed Compile autotests for Integrity 2021-09-20 17:29:04 +03:00
qline Remove the qmake project files 2021-01-07 15:32:28 +01:00
qlist QList: avoid a iterator->pointer conversion in the test 2021-10-14 02:26:41 +02:00
qmacautoreleasepool Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmakearray Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmap QMap: add operator+ and - for iterators 2021-07-27 23:48:29 +02:00
qmargins Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmessageauthenticationcode Remove the qmake project files 2021-01-07 15:32:28 +01:00
qoffsetstringarray QOffsetStringArray: rewrite in modern C++17 2021-10-11 19:00:52 -07:00
qpair Remove the qmake project files 2021-01-07 15:32:28 +01:00
qpoint Remove the qmake project files 2021-01-07 15:32:28 +01:00
qpointf Remove the qmake project files 2021-01-07 15:32:28 +01:00
qqueue Remove the qmake project files 2021-01-07 15:32:28 +01:00
qrect Remove the qmake project files 2021-01-07 15:32:28 +01:00
qringbuffer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qscopedpointer Disable warnings from using deprecated QScopedPointer::take 2021-02-13 06:44:52 +01:00
qscopedvaluerollback Remove the qmake project files 2021-01-07 15:32:28 +01:00
qscopeguard Remove checks for features available in C++17 2021-10-02 17:54:39 +02:00
qset Remove checks for features available in C++17 2021-10-02 17:54:39 +02:00
qsharedpointer Compile autotests for Integrity 2021-09-20 17:29:04 +03:00
qsize Add more support for structured bindings 2021-02-25 16:08:44 +01:00
qsizef Add more support for structured bindings 2021-02-25 16:08:44 +01:00
qstl Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtaggedpointer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtimeline Port of QTimeLine to new property system 2021-04-26 16:44:54 +02:00
qvarlengtharray Remove checks for features available in C++17 2021-10-02 17:54:39 +02:00
qversionnumber Remove the qmake project files 2021-01-07 15:32:28 +01:00
CMakeLists.txt Compile autotests for Integrity 2021-09-20 17:29:04 +03:00