https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95322
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- Adding this to transform_view::_Sentinel fixes it: friend constexpr bool operator==(const _Iterator<true>& __x, const _Sentinel& __y) requires (!_Const) { return _Sentinel<true>(__y).__equal(__x); }