https://issues.dlang.org/show_bug.cgi?id=19532
--- Comment #3 from Jon Degenhardt <[email protected]> --- One more: ------ case4.d ------ import std.stdio; import std.range; import std.algorithm : chunkBy, fold, map; import std.container.binaryheap; void main(string[] args) { auto x = [3, 1, 0, 6, 0, 2, 4, 7, 6, 8, 8, 4, 1, 2, 9, 5, 3, 1, 6]; auto y = x .heapify!"a > b" .chunkBy!((a, b) => a == b) .map!(c => c.fold!((a, b) => a + b)); writeln(y); } ------------------------ The above will fail with assert errors similar to the others. However, the following are fine: a) Removing the '.map!(c => c.fold...' line. b) Adding a '.array' step after 'heapify. The run: $ dmd case4.d $ ./case4 core.exception.AssertError@/Users/jondegenhardt/devtools/dmd2-2.083.1/osx/bin/../../src/phobos/std/algorithm/iteration.d(598): Attempting to popFront an empty map. ---------------- ??:? _d_assert_msg [0xc3c548e] ??:? pure @safe void std.algorithm.iteration.MapResult!(case4.main(immutable(char)[][]).__lambda3, std.algorithm.iteration.ChunkByImpl!(case4.main(immutable(char)[][]).__lambda2, std.container.binaryheap.BinaryHeap!(int[], "a > b").BinaryHeap).ChunkByImpl).MapResult.popFront() [0xc3ace89] ... more lines ... ??:? _Dmain [0xc3aa1e9] [0, 3, 4, 6, 8, 5, 18, 7, 16, 9$ --
