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).

Reply via email to