[libcxx-commits] [libcxx] [libc++][string] Assert resize_and_overwrite operation returns integer-like type (PR #162030)
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Oct 6 02:52:08 PDT 2025
================
@@ -90,6 +90,18 @@ void test_value_categories() {
LIBCPP_ASSERT(is_string_asan_correct(s));
}
+void test_integer_like_return_types() {
+ std::string s;
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> int { return 5; });
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> unsigned int { return 5u; });
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> long { return 5l; });
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> unsigned long { return 5ul; });
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> long long { return 5ll; });
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> unsigned long long { return 5ull; });
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> std::size_t { return 5; });
+ s.resize_and_overwrite(10, [](char*, std::size_t) -> std::ptrdiff_t { return 5; });
----------------
philnik777 wrote:
These tests are entirely redundant.
https://github.com/llvm/llvm-project/pull/162030
More information about the libcxx-commits
mailing list