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

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

https://gcc.gnu.org/g:0b76b58a5875d519f95a5af661fb64e42a42ed8e

commit r15-9660-g0b76b58a5875d519f95a5af661fb64e42a42ed8e
Author: Patrick Palka <ppa...@redhat.com>
Date:   Mon May 12 09:15:34 2025 -0400

    libstdc++: Fix constraint recursion in std::expected's operator==
[PR119714]

    This std::expected friend operator== is prone to constraint recursion
    after CWG 2369 for the same reason as basic_const_iterator's comparison
    operators were before the r15-7757-g4342c50ca84ae5 workaround.  This
    patch works around the constraint recursion here in a similar manner,
    by making the function parameter of type std::expected dependent in a
    trivial way.

            PR libstdc++/119714
            PR libstdc++/112490

    libstdc++-v3/ChangeLog:

            * include/std/expected (expected::operator==): Replace
            non-dependent std::expected function parameter with a dependent
            one of type expected<_Vp, _Er> where _Vp matches _Tp.
            * testsuite/20_util/expected/119714.cc: New test.

    Reviewed-by: Tomasz KamiÅski <tkami...@redhat.com>
    Reviewed-by: Jonathan Wakely <jwak...@redhat.com>
    (cherry picked from commit 91bc8169edd9038d78f38bd813287d72e6345c26)

Reply via email to