Bug 2325 – D1: ICE(toir.c) using alias template parameter with anonymous delegate before passing it on

Status
RESOLVED
Resolution
WONTFIX
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
All
OS
All
Creation time
2008-09-01T07:34:00Z
Last change time
2013-11-24T19:34:27Z
Keywords
ice
Assigned to
nobody
Creator
fawzi

Comments

Comment #0 by fawzi — 2008-09-01T07:34:00Z
the following code fails to compile {{{ int f(alias g)(int x){ return g(x); } int h(alias g)(int x){ int y=x; y=g(x); // this line makes the compiler crash return f!(g)(y); } void main(){ int y,z; y=h!((int x){return 2*x;})(z); // fails only with inline delegate } }}}
Comment #1 by fawzi — 2008-09-01T07:38:56Z
I got to this error trying to reduce an error that made the compiler stop with the following message "template instance inconsistent nesting levels for h and f"
Comment #2 by clugdbug — 2009-04-21T03:33:24Z
DMD1.042 and 2.029 display: Internal error: toir.c 183
Comment #3 by clugdbug — 2009-05-15T00:26:13Z
No longer ICEs in DMD2.030. Still ICE in 1.045.
Comment #4 by k.hara.pg — 2013-11-24T19:34:27Z
D1 is not supported anymore.