https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106676

--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Jonathan Wakely
<r...@gcc.gnu.org>:

https://gcc.gnu.org/g:a088552e133d2cab903d9b2660c045e18b57ef65

commit r14-11034-ga088552e133d2cab903d9b2660c045e18b57ef65
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Sun Oct 13 22:28:16 2024 +0100

    libstdc++: Implement LWG 3798 for range adaptors [PR106676]

    LWG 3798 modified the iterator_category of the iterator types for
    transform_view, join_with_view, zip_transform_view and
    adjacent_transform_view, to allow the iterator's reference type to be an
    rvalue reference.

    libstdc++-v3/ChangeLog:

            PR libstdc++/106676
            * include/bits/iterator_concepts.h (__cpp17_fwd_iterator): Use
            is_reference instead of is_value_reference.
            rvalue references.
            * include/std/ranges (transform_view:__iter_cat::_S_iter_cat):
            Likewise.
            (zip_transform_view::__iter_cat::_S_iter_cat): Likewise.
            (adjacent_transform_view::__iter_cat::_S_iter_cat): Likewise.
            (join_with_view::__iter_cat::_S_iter_cat): Likewise.
            * testsuite/std/ranges/adaptors/transform.cc: Check
            iterator_category when the transformation function returns an
            rvalue reference type.

    Reviewed-by: Patrick Palka <ppa...@redhat.com>
    (cherry picked from commit 7f65f94917866c6b18d9698eec6451c1bf21e0f9)
  • [Bug libstdc++/106676] [C++20] ... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to