qt5base-lts/tests/auto/corelib/tools
Sona Kurazyan 9f13842fe6 Fix compilation for recursive Qt containers
The operator checks cause compilation errors when trying to check for
their existence for recursive containers. This happens because of trying
to check for the operators on the template parameter type(s), that
inherit from the container itself, which leads to compilation errors.
Introduced alternative versions of the operator checks (with _container
suffix), that first check if the container is recursive, i.e. any of its
template parameter types inherits from the given container, and skips
the operator check, if that's the case.

The fix is done for all Qt container types that had the problem, except
for QVarLengthArray and QContiguousCache, which don't compile with
recursive parameter types for unrelated reasons.

Fixes: QTBUG-91707
Pick-to: 6.2 6.1
Change-Id: Ia1e7240b4ce240c1c44f00ca680717d182df7550
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-09-07 15:48:35 +02:00
..
collections Fix compilation for recursive Qt containers 2021-09-07 15:48:35 +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 QCommandLineParser: fix crash if there's no QCoreApplication 2021-03-01 23:03:00 +01:00
qcontiguouscache Remove the qmake project files 2021-01-07 15:32:28 +01:00
qcryptographichash QCryptographicHash: use a std::array to hold result (was: QByteArray) 2021-07-15 17:56:23 +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 Introduce QHashSeed and switch to size_t seeds 2021-05-23 12:08:42 -07:00
qline Remove the qmake project files 2021-01-07 15:32:28 +01:00
qlist QList: extend tests 2021-07-20 13:01:03 +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 Remove the qmake project files 2021-01-07 15:32:28 +01: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 the qmake project files 2021-01-07 15:32:28 +01:00
qset QHash/QSet: fix squeeze() for default-constructed container 2021-07-27 20:57:49 +02:00
qsharedpointer tests: fix some -Wvolatile 2021-07-28 17:50:09 +02: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 QVarLengthArray: add support for emplacement 2021-08-16 17:26:29 +00:00
qversionnumber Remove the qmake project files 2021-01-07 15:32:28 +01:00
CMakeLists.txt Introduce QHashSeed and switch to size_t seeds 2021-05-23 12:08:42 -07:00