8420d3e0b2
QtBase didn't contain any checks for QT_RESTRICTED_CAST_FROM_ASCII, so a recent addition to the QString::append/insert/prepend overload set made calls with C string literal arguments ambiguous without the CI noticing. We had a similar problem with QString::multiArg. To increase test coverage, we now run tst_qstring two times: - without any define - with QT_RESTRICTED_CAST_FROM_ASCII (lots of changes necessary) Most removals are expected, because they disable tests that check the implicit conversions from QByteArray and const char*, but the relational operators with QLatin1String objects might warrant fixing. In some places, when the conversion wasn't the functionality under test, replaced C string literals or QByteArrays with QLatin1String. We should also test with QT_NO_CAST_FROM_ASCII, but that's even larger surgery. QString doesn't have a ctor from std::nullptr_t, so QString s = nullptr; doesn't compile in C++17 mode, but does in C++20 mode, due to the const char8_t* ctor. Pick-to: 6.5 6.4 6.2 5.15 Change-Id: I0c5a31719a4b8dd585dd748e0ca0d99964866064 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> |
||
---|---|---|
.. | ||
qanystringview | ||
qbytearray | ||
qbytearray_large | ||
qbytearrayapisymmetry | ||
qbytearraylist | ||
qbytearraymatcher | ||
qbytearrayview | ||
qbytedatabuffer | ||
qchar | ||
qcollator | ||
qlatin1stringmatcher | ||
qlatin1stringview | ||
qlocale | ||
qregularexpression | ||
qstring | ||
qstring_no_cast_from_bytearray | ||
qstringapisymmetry | ||
qstringbuilder | ||
qstringconverter | ||
qstringiterator | ||
qstringlist | ||
qstringmatcher | ||
qstringtokenizer | ||
qstringview | ||
qtextboundaryfinder | ||
qunicodetools | ||
shared | ||
CMakeLists.txt |