[libcxx-commits] [libcxx] [libc++][test] Improve `fold_left` `check_lvalue_range` coverage. (PR #183990)

via libcxx-commits libcxx-commits at lists.llvm.org
Sun Mar 1 00:47:38 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libcxx

Author: Connector Switch (c8ef)

<details>
<summary>Changes</summary>

This makes the test `fold_left` and `fold_left_with_iter` with and without telemetrics similar to what we do in `check_iterator`.

---
Full diff: https://github.com/llvm/llvm-project/pull/183990.diff


1 Files Affected:

- (modified) libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp (+5-4) 


``````````diff
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
index 107e09a63c96f..e08d54c597853 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
@@ -116,10 +116,11 @@ constexpr void check_lvalue_range(R& r, T const& init, F f, Expected const& expe
   }
 
   {
-    auto telemetry                               = invocable_telemetry();
-    auto f2                                      = invocable_with_telemetry(f, telemetry);
-    std::same_as<Expected> decltype(auto) result = fold_left(r, init, f2);
-    assert(result == expected);
+    auto telemetry                                        = invocable_telemetry();
+    auto f2                                               = invocable_with_telemetry(f, telemetry);
+    is_in_value_result<R, Expected> decltype(auto) result = fold_left_with_iter(r, init, f2);
+    assert(result.in == r.end());
+    assert(result.value == expected);
     assert(telemetry.invocations == std::ranges::distance(r));
     assert(telemetry.moves == 0);
     assert(telemetry.copies == 1);

``````````

</details>


https://github.com/llvm/llvm-project/pull/183990


More information about the libcxx-commits mailing list