[Issue 18751] New: chunkBy predicate cannot access local variable
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Apr 9 23:57:56 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=18751
Issue ID: 18751
Summary: chunkBy predicate cannot access local variable
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: hsteoh at quickfur.ath.cx
Code:
-------
unittest
{
import std.algorithm.comparison : equal;
import std.algorithm.iteration : chunkBy;
string[] data = [ "abc", "abc", "def" ];
int[] indices = [ 0, 1, 2 ];
auto chunks = indices.chunkBy!((i, j) => data[i] == data[j]);
assert(chunks.equal!equal([ [ 0, 1 ], [ 2 ] ]));
}
-------
Compiler output:
-------
/usr/src/d/phobos/std/algorithm/iteration.d(1761): Error: function
test.__unittest_L9_C1.ChunkByImpl!(__lambda1, int[]).ChunkByImpl.Group.popFront
cannot access frame of function test.__unittest_L9_C1
/usr/src/d/phobos/std/range/primitives.d(884): Error: template instance
`std.range.primitives.isInputRange!(Group)` error instantiating
/usr/src/d/phobos/std/algorithm/iteration.d(1781): instantiated from
here: isForwardRange!(Group)
-------
--
More information about the Digitalmars-d-bugs
mailing list