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> |
||
---|---|---|
.github/workflows | ||
bin | ||
cmake | ||
coin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
libexec | ||
LICENSES | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
util | ||
.cmake.conf | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.tag | ||
CMakeLists.txt | ||
conanfile.py | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.cmake | ||
dependencies.yaml | ||
qt_cmdline.cmake | ||
sync.profile |