https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110970
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:9cb2a7c8d54b1f6685bc509a07104c458262cb9f commit r14-3134-g9cb2a7c8d54b1f6685bc509a07104c458262cb9f Author: Jonathan Wakely <jwak...@redhat.com> Date: Thu Aug 10 13:48:48 2023 +0100 libstdc++: Use alias template for iterator_category [PR110970] This renames __iterator_category_t to __iter_category_t, for consistency with std::iter_value_t, std::iter_difference_t and std::iter_reference_t in C++20. Then use __iter_category_t in <bits/stl_iterator.h>, which fixes the problem of the missing 'typename' that Clang 15 incorrectly still requires. libstdc++-v3/ChangeLog: PR libstdc++/110970 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use __iter_category_t. (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise. (__detail::__basic_const_iterator_iter_cat): Likewise. * include/bits/stl_iterator_base_types.h (__iterator_category_t): Rename to __iter_category_t.