Bug 8151 – [ICE] Two internal errors with recursive map

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2012-05-25T15:31:00Z
Last change time
2012-10-27T17:41:29Z
Assigned to
nobody
Creator
bearophile_hugs

Comments

Comment #0 by bearophile_hugs — 2012-05-25T15:31:41Z
import std.algorithm: map; void main() { int foo(int) { return [1].map!foo().front; } } DMD 2.060head gives: map(Range) if (isInputRange!(Unqual!(Range)))([1]).front Internal error: e2ir.c 705 -------------------------- A probably related problem: import std.algorithm: map, reduce; void main() { int foo(int) { return true ? 1 : [1].map!foo().reduce!q{a}(); } } DMD 2.060head gives: Internal error: e2ir.c 3519
Comment #1 by hsteoh — 2012-10-27T12:00:14Z
Works on git HEAD, Linux 64-bit. Fixed, or Windows-specific problem?
Comment #2 by bearophile_hugs — 2012-10-27T17:41:29Z
Both programs now compile. Closed.