https://issues.dlang.org/show_bug.cgi?id=4271
greenify <greeen...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |greeen...@gmail.com --- Comment #4 from greenify <greeen...@gmail.com> --- Imho this is a common problem of the range API and I would love to see a generic solution. For prior art see e.g. https://github.com/dlang/phobos/pull/4010 and a good, generic solution in phobos-next that checks as a constraint whether it's valid to do the move: https://github.com/nordlow/phobos-next/blob/master/src/range_ex.d#L57 --