The problem with Ranges is you <i>can&#x27;t</i> trust anything they tell you about bounds, and they <i>can&#x27;t</i> trust you about bounds, so every access has to be checked. This hurts in algorithms like binary search and sorting (which are some of the few algorithms that don&#x27;t work for iterators).<p>Ultimately though, there just hasn&#x27;t been a lot of demand for ranges.
Iterators and slices do most of the work people care about. We actually had tried to make iterators more like ranges back in the day, but we tore it out because no one cared. To this day you can&#x27;t sort a VecDeque, <i>and no one has ever bothered us about it</i>.