Clang complains about the missing typename. I believe it's not required
in a more complete implementation of C++, but it's nicer to support
less complete implementations.
PR libstdc++/100900
libstdc++-v3/ChangeLog:
* include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
Add missing typename.
(cherry picked from commit
5e2e15f212e2458a1258b8c856895c755460bc6b)
static auto _S_iter_cat()
{
using _Base = elements_view::_Base<_Const>;
- using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;
+ using _Cat = typename iterator_traits<iterator_t<_Base>>::iterator_category;
using _Res = decltype((std::get<_Nm>(*std::declval<iterator_t<_Base>>())));
if constexpr (!is_lvalue_reference_v<_Res>)
return input_iterator_tag{};