[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