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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <[email protected]>:

https://gcc.gnu.org/g:03562c1e023d01cacf099a40842e617d27148c74

commit r16-5969-g03562c1e023d01cacf099a40842e617d27148c74
Author: Jonathan Wakely <[email protected]>
Date:   Thu Dec 4 14:45:53 2025 +0000

    libstdc++: Implement P2404R3 relaxations to comparable_with concepts
[PR122946]

    This implements the C++23 proposal P2404R3 "Move-only types for
    equality_comparable_with, totally_ordered_with, and
    three_way_comparable_with". As agreed with the maintainers of libc++ and
    MSVC STL, we treat this as a DR for C++20. It allows reasonable code to
    compile which wasn't originally allowed in C++20, and only affects some
    obscure subsumption cases for valid C++20 code.

    libstdc++-v3/ChangeLog:

            PR libstdc++/122946
            * include/bits/version.def (concepts): Set value to 202207.
            * include/bits/version.h: Regenerate.
            * include/std/concepts (__comparison_common_type_with_impl)
            (__comparison_common_type_with): New helper concepts.
            (equality_comparable_with): Use __comparison_common_type_with.
            * libsupc++/compare (three_way_comparable_with): Likewise.
            (__glibcxx_want_concepts): Define to get __cpp_lib_concepts
            here.
            * testsuite/std/concepts/concepts.compare/move_only.cc: New
            test.

    Reviewed-by: Tomasz KamiÅski <[email protected]>

Reply via email to