January 01, 2015
https://issues.dlang.org/show_bug.cgi?id=13922

          Issue ID: 13922
           Summary: std.range.package.takeOne doesn't accept non-forward
                    ranges
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Phobos
          Assignee: nobody@puremagic.com
          Reporter: sinkuupump@gmail.com

std.range.package.takeOne doesn't accept non-forward ranges, because it assumes the given range is always a forward range.

nonForwardRange.takeOne // Error: template instance std.range.takeOne!(NonForwardRange) error instantiating

Originally reported by bioinfornatics on forum(http://forum.dlang.org/thread/pxqytmikgipfjkjexuux@forum.dlang.org#post-pxqytmikgipfjkjexuux:40forum.dlang.org).

Pull: https://github.com/D-Programming-Language/phobos/pull/2808

--