https://issues.dlang.org/show_bug.cgi?id=22359
--- Comment #2 from Adam D. Ruppe <[email protected]> --- A patched function that can fix the issue: static if (isForwardRange!RoR && isForwardRange!(ElementType!RoR)) { @property auto save() { static if(is(typeof(null) : typeof(_current))) { auto r = Result(_items.save, _current is null ? null : _current.save); } else auto r = Result(_items.save, _current.save); static if (isBidirectional) { static if(is(typeof(null) : typeof(_currentBack))) { r._currentBack = _currentBack is null ? null : _currentBack.save; } else { r._currentBack = _currentBack.save; } r.reachedFinalElement = reachedFinalElement; } return r; } } --
