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

--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
So instead of:

    static_assert(std::same_as<typename
std::iterator_traits<decltype(plus1.begin())>::iterator_category,
std::input_iterator_tag>);

Just use the much simpler:

    static_assert(std::input_iterator<decltype(plus1.begin())>);

Or just do what you're already doing:

    static_assert(std::ranges::input_range<decltype(plus1)>);

This checks that it's a range and has iterators that meet the
std::input_iterator concept.

If you want to work with ranges iterators, use the concepts for doing that.
Don't check iterator_traits<>::iterator_category.

Reply via email to