On Tuesday, 12 December 2017 at 18:40:51 UTC, Seb wrote:
Spec: "r.front can be legally evaluated if and only if
evaluating r.empty has, or would have, equaled false."
Spec: "r.front evaluated multiple times, without calling
r.popFront, or otherwise mutating the range object or the
underlying data, yields the same result for every evaluation."
Ok, so the consensus was to make ranges easy to use. Was there
any progress on mechanisms to avoid the possible performance
penalties, and to make the implementation side more regular?