diff --git a/src/corelib/text/qbytearrayview.h b/src/corelib/text/qbytearrayview.h index 5a4b7028123..34e38a36ffb 100644 --- a/src/corelib/text/qbytearrayview.h +++ b/src/corelib/text/qbytearrayview.h @@ -166,7 +166,7 @@ public: #else template = true> QByteArrayView(const ByteArray &ba) noexcept - : QByteArrayView(ba.isNull() ? nullptr : ba.data(), qsizetype(ba.size())) {} + : QByteArrayView{ba.begin(), ba.size()} {} #endif template = true> diff --git a/src/corelib/text/qlatin1stringview.h b/src/corelib/text/qlatin1stringview.h index 7232be7c9ba..c3872aaba0a 100644 --- a/src/corelib/text/qlatin1stringview.h +++ b/src/corelib/text/qlatin1stringview.h @@ -40,7 +40,7 @@ public: : QLatin1StringView(f, qsizetype(l - f)) {} constexpr QLatin1StringView(const char *s, qsizetype sz) noexcept : m_data(s), m_size(sz) {} explicit QLatin1StringView(const QByteArray &s) noexcept - : QLatin1StringView(s.constData(), s.size()) {} + : QLatin1StringView{s.begin(), s.size()} {} constexpr explicit QLatin1StringView(QByteArrayView s) noexcept : QLatin1StringView(s.constData(), s.size()) {} #else @@ -52,7 +52,7 @@ public: constexpr QLatin1String(const char *f, const char *l) : QLatin1String(f, qsizetype(l - f)) {} constexpr QLatin1String(const char *s, qsizetype sz) noexcept : m_size(sz), m_data(s) {} - explicit QLatin1String(const QByteArray &s) noexcept : m_size(s.size()), m_data(s.constData()) {} + explicit QLatin1String(const QByteArray &s) noexcept : QLatin1String(s.begin(), s.size()) {} constexpr explicit QLatin1String(QByteArrayView s) noexcept : m_size(s.size()), m_data(s.data()) {} #endif // !Q_L1S_VIEW_IS_PRIMARY diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h index f4ebb66d14f..0e0aef82670 100644 --- a/src/corelib/text/qstring.h +++ b/src/corelib/text/qstring.h @@ -1213,9 +1213,9 @@ template // QAnyStringView::QAnyStringView(const QByteArray &str) noexcept - : QAnyStringView{str.isNull() ? nullptr : str.data(), str.size()} {} + : QAnyStringView{str.begin(), str.size()} {} QAnyStringView::QAnyStringView(const QString &str) noexcept - : QAnyStringView{str.isNull() ? nullptr : str.data(), str.size()} {} + : QAnyStringView{str.begin(), str.size()} {} QString QAnyStringView::toString() const { return QtPrivate::convertToQString(*this); } diff --git a/src/corelib/text/qstringview.h b/src/corelib/text/qstringview.h index 2ad245caa38..9578363806f 100644 --- a/src/corelib/text/qstringview.h +++ b/src/corelib/text/qstringview.h @@ -160,7 +160,7 @@ public: #else template = true> QStringView(const String &str) noexcept - : QStringView(str.isNull() ? nullptr : str.data(), qsizetype(str.size())) {} + : QStringView{str.begin(), str.size()} {} #endif template = true> diff --git a/src/corelib/text/qutf8stringview.h b/src/corelib/text/qutf8stringview.h index 87a974414ca..872ff759cc4 100644 --- a/src/corelib/text/qutf8stringview.h +++ b/src/corelib/text/qutf8stringview.h @@ -181,7 +181,7 @@ public: #else template = true> QBasicUtf8StringView(const String &str) noexcept - : QBasicUtf8StringView(str.isNull() ? nullptr : str.data(), qsizetype(str.size())) {} + : QBasicUtf8StringView{str.begin(), str.size()} {} #endif template = true> diff --git a/tests/auto/corelib/text/qlatin1stringview/tst_qlatin1stringview.cpp b/tests/auto/corelib/text/qlatin1stringview/tst_qlatin1stringview.cpp index e719c817314..5f22a7fb1d2 100644 --- a/tests/auto/corelib/text/qlatin1stringview/tst_qlatin1stringview.cpp +++ b/tests/auto/corelib/text/qlatin1stringview/tst_qlatin1stringview.cpp @@ -272,12 +272,10 @@ void tst_QLatin1StringView::nullString() QVERIFY(null.isNull()); QLatin1StringView l1(null); - QEXPECT_FAIL("", "null QByteArrays become non-null QLatin1Strings...", Continue); QCOMPARE(static_cast(l1.data()), static_cast(nullptr)); QCOMPARE(l1.size(), 0); QString s = l1; - QEXPECT_FAIL("", "null QByteArrays become non-null QLatin1Strings become non-null QStrings...", Continue); QVERIFY(s.isNull()); } }