zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 751375f3ca5ba4a3a9edb2e79f69fb6e27a445b8 (tree)
parent 2357ae06dd48826b7db8712edd203018fc55e9ca
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Fri, 17 Oct 2025 14:59:22 +0200

libcxx: backport llvm/llvm-project#158347

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

Diffstat:
Mlib/libcxx/include/__ranges/join_view.h | 9+++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/libcxx/include/__ranges/join_view.h b/lib/libcxx/include/__ranges/join_view.h @@ -410,8 +410,13 @@ struct __segmented_iterator_traits<_JoinViewIterator> { static constexpr _LIBCPP_HIDE_FROM_ABI _JoinViewIterator __compose(__segment_iterator __seg_iter, __local_iterator __local_iter) { - return _JoinViewIterator( - std::move(__seg_iter).__get_data(), std::move(__seg_iter).__get_iter(), std::move(__local_iter)); + auto&& __parent = std::move(__seg_iter).__get_data(); + auto&& __outer = std::move(__seg_iter).__get_iter(); + if (__local_iter == ranges::end(*__outer)) { + ++__outer; + return _JoinViewIterator(*__parent, __outer); + } + return _JoinViewIterator(__parent, __outer, std::move(__local_iter)); } };