https://issues.dlang.org/show_bug.cgi?id=21703
Issue ID: 21703 Summary: std.base64 : decoding a range with one element does not work properly Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: bugzi...@bernis-buecher.de unittest { struct InputRange { ubyte[] impl = [ 'e', 'a', '=', '=' ]; bool empty() { return impl.length == 0; } ubyte front() { return impl[0]; } void popFront() { impl = impl[1 .. $]; } size_t length() { return impl.length; } } struct OutputRange { ubyte[] result; void put(ubyte b) { result ~= b; } } InputRange ir; OutputRange or; assert(Base64.decode(ir, or) == 1); assert(or.result == "x"); // fails, output is "y" } --