From 376f10db4750318e50280dcbd2102eb676d36793 Mon Sep 17 00:00:00 2001 From: Fredrik Roubert Date: Wed, 11 Sep 2024 19:22:35 +0200 Subject: [PATCH] ICU-22843 Add a test case that's ambiguous to MSVC and fails to compile. --- icu4c/source/test/intltest/ustrtest.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/icu4c/source/test/intltest/ustrtest.cpp b/icu4c/source/test/intltest/ustrtest.cpp index 61bf20d1089e..ae371f68acc4 100644 --- a/icu4c/source/test/intltest/ustrtest.cpp +++ b/icu4c/source/test/intltest/ustrtest.cpp @@ -2420,6 +2420,7 @@ void UnicodeStringTest::TestU16StringView() { const char16_t *p16 = u"p16"; std::u16string_view sv16 = u"sv16"; std::u16string str16 = u"str16"; + UnicodeString ustr = u"ustr"; // These copy the string contents. UnicodeString fromPtr(p16); // pointer is convertible to std::u16string_view @@ -2444,6 +2445,10 @@ void UnicodeStringTest::TestU16StringView() { assertTrue("aliasFromStr pointer alias", aliasFromStr.getBuffer() == str16.data()); assertEquals("aliasFromStr length", (int32_t)str16.length(), aliasFromStr.length()); + UnicodeString aliasFromUStr = UnicodeString::readOnlyAlias(ustr); + assertTrue("aliasFromUStr pointer alias", aliasFromUStr.getBuffer() == ustr.getBuffer()); + assertEquals("aliasFromUStr length", ustr.length(), aliasFromUStr.length()); + // operator== UnicodeString any(true, u"any", 3); assertFalse("any == pointer-p16", any == p16);