Conversation

imagine being the person responsible for designing the `core::iter` module, arguably the most impactful piece of engineering not bundled into the compiler somehow, and special-casing FusedIterator for "this does not resume" instead of ReIterator for "this does resume"
1
19
I wanted it to feel like using iterators in Python with even more convenience from method chaining and having all of the itertools and itertools docs functionality built into it. Python notably doesn't provide that guarantee and doesn't offer an adaptor for it. Not very useful.
1
It was also meant to offer functionality available in Boost.Range and D ranges for double-ended (consume from both ends, reverse) and random access iterators. Random access doesn't fit well into the ownership/lifetime model and what they did with it wasn't what was intended.