tst_QStringView: verify that char16_t[] args aren't ambiguous for QS/QSV overloads
They are not. Pick-to: 6.9 6.8 Task-number: QTBUG-112746 Change-Id: I2a20d68543f5914690acbcb4f214b1d98681de6a Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
This commit is contained in:
parent
56faffd92b
commit
67990c16a6
@ -897,6 +897,11 @@ static void test(QString) = delete;
|
||||
static void test(QStringView) {}
|
||||
}
|
||||
|
||||
extern const QChar qcharArrayOfUnknownSize[];
|
||||
extern const char16_t char16ArrayOfUnknownSize[];
|
||||
[[maybe_unused]]
|
||||
extern const wchar_t wchartArrayOfUnknownSize[];
|
||||
|
||||
// Compile-time only test: overload resolution prefers QStringView over QString
|
||||
void tst_QStringView::overloadResolution()
|
||||
{
|
||||
@ -905,6 +910,7 @@ void tst_QStringView::overloadResolution()
|
||||
QStringViewOverloadResolution::test(qcharArray);
|
||||
QChar *qcharPointer = qcharArray;
|
||||
QStringViewOverloadResolution::test(qcharPointer);
|
||||
QStringViewOverloadResolution::test(qcharArrayOfUnknownSize);
|
||||
}
|
||||
|
||||
{
|
||||
@ -919,6 +925,7 @@ void tst_QStringView::overloadResolution()
|
||||
wchar_t wchartArray[42] = {};
|
||||
QStringViewOverloadResolution::test(wchartArray);
|
||||
QStringViewOverloadResolution::test(L"test");
|
||||
QStringViewOverloadResolution::test(wchartArrayOfUnknownSize);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -927,6 +934,7 @@ void tst_QStringView::overloadResolution()
|
||||
QStringViewOverloadResolution::test(char16Array);
|
||||
char16_t *char16Pointer = char16Array;
|
||||
QStringViewOverloadResolution::test(char16Pointer);
|
||||
QStringViewOverloadResolution::test(char16ArrayOfUnknownSize);
|
||||
}
|
||||
|
||||
{
|
||||
@ -937,6 +945,10 @@ void tst_QStringView::overloadResolution()
|
||||
}
|
||||
}
|
||||
|
||||
const QChar qcharArrayOfUnknownSize[] = {u'a', u'b', u'c', u'\0', u'd', u'e', u'f'};
|
||||
const char16_t char16ArrayOfUnknownSize[] = u"abc\0def";
|
||||
const wchar_t wchartArrayOfUnknownSize[] = L"abc\0def";
|
||||
|
||||
void tst_QStringView::std_stringview_conversion()
|
||||
{
|
||||
static_assert(std::is_convertible_v<QStringView, std::u16string_view>);
|
||||
|
Loading…
x
Reference in New Issue
Block a user