https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109111
Bug ID: 109111 Summary: Definition of repeat_view::_Iterator has wrong template-head Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- In <ranges>: template<copy_constructible _Tp, semiregular _Bound = unreachable_sentinel_t> requires (is_object_v<_Tp> && same_as<_Tp, remove_cv_t<_Tp>> && (__detail::__is_integer_like<_Bound> || same_as<_Bound, unreachable_sentinel_t>)) class repeat_view : /* ... */ template<copy_constructible _Tp, semiregular _Bound> requires __detail::__is_integer_like<_Bound> || same_as<_Bound, unreachable_sentinel_t> class repeat_view<_Tp, _Bound>::_Iterator The requires-clause should match. Clang trunk diagnoses this (but not GCC, so there's probably a compiler bug here too).