https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116399
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- Currently aliases_view is allowed to be a common range, but not required to be. If we specify that its sentinel type is std::default_sentinel, that would require it to be a non-common range. Why would we want that? If an implementation decides to use a different design for the aliases_view which is more efficient with a common range, your suggestion would forbid them from using that. So I don't think we should require that. Whether libstdc++ should make that change is a different matter. I guess we could also defined the sentinel as an enum type, which might be a little less expensive than a new class type. Or just use default_sentinel_t.