On Sunday, 15 April 2018 at 06:39:43 UTC, Jonathan M Davis wrote:
On Sunday, April 15, 2018 07:26:54 Shachar Shemesh via
It's extremely common for range-based functions to copy front.
Even foreach does it. e.g.
Arguably it should “move” them.
This would have worked if input ranges didn’t have to cache front
to support multiple ‘front’ calls before popFront. Which is a
painful misfeature really as all algorithms would optimize for
touching front once anyway.
Input range should “produce” elements not keep cache of them,
forward ranges may cache current item alright.