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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.3

--- Comment #10 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Thanks for testing.  The commit that was just pushed uses a slightly different
approach to work around the constraint recursion that should be better overall.
 Fixed on trunk so far.

(In reply to Chameleon from comment #8)
> No, it is partially fixed.
> 
> Please patch also this:
> 
>     template<__detail::__not_a_const_iterator _Sent,
>             same_as<basic_const_iterator> _Self>
>       requires sized_sentinel_for<_Sent, _It>
>       friend constexpr difference_type
>       operator-(const _Sent& __x, const _Self& __y)
>       noexcept(noexcept(__x - __y._M_current))
>       { return __x - __y._M_current; }
Hmm, I considered adjusting this friend operator- too but I couldn't come up
with a testcase that currently misbehaves.  Do you have a testcase?  The
operator-'s sized_sentinel_for constraint doesn't seem as potentially loopy as
the relops' totally_ordered_with constraint.

Reply via email to