[Issue 21337] New: join can iterates ranges multiple times
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Oct 22 13:06:49 UTC 2020
https://issues.dlang.org/show_bug.cgi?id=21337
Issue ID: 21337
Summary: join can iterates ranges multiple times
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: rmanth at gmail.com
class Once
{
bool empty;
void popFront() { empty = true; }
int front() { return 0; }
}
void main()
{
import std.array : join;
import std.algorithm.iteration : map;
assert([1, 2].map!"[a]".join(new Once) == [1, 0, 2]); // fails
}
Join iterates `Once` once to make an array and again for each separator, which
obviously doesn't work.
--
More information about the Digitalmars-d-bugs
mailing list