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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:8543dc52d84662e3fc0b8b6ac5e98ce13ebe9ad9

commit r15-7632-g8543dc52d84662e3fc0b8b6ac5e98ce13ebe9ad9
Author: Patrick Palka <ppa...@redhat.com>
Date:   Wed Feb 19 22:59:49 2025 -0500

    libstdc++: Sync concat_view with final P2542 revision [PR115209]

    Our concat_view implementation is accidentally based off of an older
    revision of the paper, P2542R7 instead of R8.  As far as I can tell the
    only semantic change in the final revision is the relaxed constraints on
    the iterator's iter/sent operator- overloads, which this patch updates.

    This patch also simplifies the concat_view::end wording via C++26 pack
    indexing as per the final revision.  In turn we make the availability of
    this library feature conditional on __cpp_pack_indexing.  (Note pack
    indexing is implemented in GCC 15 and Clang 19).

            PR libstdc++/115209

    libstdc++-v3/ChangeLog:

            * include/bits/version.def (ranges_concat): Depend on
            __cpp_pack_indexing.
            * include/bits/version.h: Regenerate.
            * include/std/ranges (__detail::__last_is_common): Remove.
            (__detail::__all_but_first_sized): New.
            (concat_view::end): Use C++26 pack indexing instead of
            __last_is_common as per R8 of P2542.
            (concat_view::iterator::operator-): Update constraints on
            iter/sent overloads as per R8 of P2542.

    Reviewed-by: Jonathan Wakely <jwak...@redhat.com>

Reply via email to