digitalmars.D.bugs - [Issue 18751] New: chunkBy predicate cannot access local variable
- d-bugmail puremagic.com (36/36) Apr 09 2018 https://issues.dlang.org/show_bug.cgi?id=18751
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 puremagic.com Reporter: hsteoh 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) ------- --
Apr 09 2018