Bug 8309 – ICE in typeMerge on 'void main(){auto x = [()=>1.0, ()=>1];}'

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-06-27T05:19:00Z
Last change time
2014-05-02T22:31:34Z
Keywords
ice, pull
Assigned to
nobody
Creator
timon.gehr

Comments

Comment #0 by timon.gehr — 2012-06-27T05:19:34Z
DMD 2.059: void main(){auto x = [()=>1.0, ()=>1];} // ICE
Comment #1 by ellery-newcomer — 2012-09-21T17:27:34Z
for interested parties, the message is dmd: cast.c:1991: int typeMerge(Scope*, Expression*, Type**, Expression**, Expression**): Assertion `d->purity != PUREfwdref' failed.
Comment #2 by ellery-newcomer — 2012-09-21T17:28:45Z
*** Issue 8699 has been marked as a duplicate of this issue. ***
Comment #3 by k.hara.pg — 2012-09-23T02:02:50Z
Comment #4 by yebblies — 2012-12-26T21:57:13Z
*** Issue 8317 has been marked as a duplicate of this issue. ***
Comment #5 by k.hara.pg — 2014-04-21T03:56:48Z
Comment #6 by github-bugzilla — 2014-05-02T22:31:33Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/d49f1ead5ccfe19297f78529f59f81dd340e128a fix Issue 8309 - ICE in typeMerge on 'void main(){auto x = [()=>1.0, ()=>1];}' https://github.com/D-Programming-Language/dmd/commit/9ba6b66c8819dce20af2d80554daaa96369774bc Merge pull request #3477 from 9rnsr/fix8309 Issue 8309 - ICE in typeMerge on 'void main(){auto x = [()=>1.0, ()=>1];}'