[libcxx-commits] [libcxx] [libc++] Fix UB in bitwise logic of {std, ranges}::{fill, fill_n} algorithms (PR #122410)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jan 20 08:34:56 PST 2025
================
@@ -69,12 +72,47 @@ constexpr void test_iterators() {
{
std::array<int, 0> a;
auto range = std::ranges::subrange(It(a.data()), Sent(It(a.data())));
- auto ret = std::ranges::fill(range, 1);
+ auto ret = std::ranges::fill(range, 1);
assert(base(ret) == a.data());
}
}
}
+// The `ranges::{fill, fill_n}` algorithms require `vector<bool, Alloc>::iterator` to satisfy the
+// `std::indirectly_writable` concept when used with `vector<bool, Alloc>`, which is only met since C++23.
----------------
ldionne wrote:
Same here, let's add a comment with a link to the PR.
https://github.com/llvm/llvm-project/pull/122410
More information about the libcxx-commits
mailing list