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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=115046

--- Comment #15 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Patrick Palka from comment #10)
> 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.
Patching this friend operator- fixes the constraint recursion reported in
PR115046!

Reply via email to