https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100621
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:03cf8d54e5c27cfe6b184cc96757cab30d8fa1df commit r12-855-g03cf8d54e5c27cfe6b184cc96757cab30d8fa1df Author: Patrick Palka <ppa...@redhat.com> Date: Tue May 18 00:26:25 2021 -0400 libstdc++: Fix condition for memoizing reverse_view::begin() [PR100621] A range being a random access range isn't a sufficient condition for ranges::next(iter, sent) to have constant time complexity -- it must also have a sized sentinel. This adjusts the memoization condition for reverse_view accordingly. libstdc++-v3/ChangeLog: PR libstdc++/100621 * include/std/ranges (reverse_view::_S_needs_cached_begin): Set to true if the underlying non-common random-access range doesn't have a sized sentinel.