diff options
author | Patrick Palka <ppalka@redhat.com> | 2025-05-12 09:15:34 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2025-05-12 09:15:34 -0400 |
commit | 91bc8169edd9038d78f38bd813287d72e6345c26 (patch) | |
tree | 67e180564796ca95253195ddca4225c16f42db5f /gcc/common | |
parent | af062510f4179aa7b13e632f77593deee8fe29f2 (diff) | |
download | gcc-91bc8169edd9038d78f38bd813287d72e6345c26.zip gcc-91bc8169edd9038d78f38bd813287d72e6345c26.tar.gz gcc-91bc8169edd9038d78f38bd813287d72e6345c26.tar.bz2 |
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 <tkaminsk@redhat.com>
Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Diffstat (limited to 'gcc/common')
0 files changed, 0 insertions, 0 deletions