[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