https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100070
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> --- https://wg21.link/p2408 is in this area, but doesn't touch the containers. https://wg21.link/p1206 solves the problem, although it's not as convenient as Barry asked for. You can construct a subrange from the new-style iterators and then pass that to the new container members that accept ranges.