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

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
No, I don't think so. Libstdc++ has this for the primary template:


  template<view _Vp>
    requires input_range<_Vp>
  class chunk_view : public view_interface<chunk_view<_Vp>>
  {
    ...
    class _OuterIter;
    class _InnerIter;

And then:

  template<view _Vp>
    requires input_range<_Vp>
  class chunk_view<_Vp>::_OuterIter

and:

  template<view _Vp>
    requires input_range<_Vp>
  class chunk_view<_Vp>::_InnerIter

Then there is a partial specialization for forward_ranges:

  template<view _Vp>
    requires forward_range<_Vp>
  class chunk_view<_Vp> : public view_interface<chunk_view<_Vp>>
  {
    ...
    template<bool> class _Iterator;

and its iterator type:

  template<view _Vp>
    requires forward_range<_Vp>
  template<bool _Const>
  class chunk_view<_Vp>::_Iterator

Clang is complaining about the latter, but it's right.

Reply via email to