Bug 7827 – ICE(glue.c, !vthis->csym) delegate and type inference

Status
RESOLVED
Resolution
WORKSFORME
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-04-05T02:34:00Z
Last change time
2013-10-07T13:36:23Z
Keywords
ice
Assigned to
nobody
Creator
doob

Comments

Comment #0 by doob — 2012-04-05T02:34:43Z
When I try to use a delegate as template parameter and type inference DMD asserts with this message: Assertion failed: (!vthis->csym), function toObjFile, file glue.c, line 686. https://github.com/D-Programming-Language/dmd/blob/master/src/glue.c#L686 I haven't been able to find a reduced test case but this is the code that fails: https://github.com/jacob-carlborg/phobos/blob/terminal/std/event.d#L113 If I changed that line to: eventHandlers = .remove!((e) { return e == eventHandler; })(eventHandlers); Or eventHandlers = .remove!(e => e == eventHandler)(eventHandlers); The assert is triggered. I'm using: DMD: b41a2c360f09b83e4de6951f1e7538372319704f Druntime: b41a2c360f09b83e4de6951f1e7538372319704f Phobos: b93e9c9fd47fe309bb422408cbedc5897d87c368 I'm compiling on Mac OS X for 32bit.
Comment #1 by clugdbug — 2012-04-05T03:26:46Z
This is probably a duplicate of bug 4129. Two others which ICE at the same place are bug 6896 and bug 4481.
Comment #2 by bugzilla — 2013-10-06T22:18:42Z
Jacob - since 4481 and 6896 appear to be fixed, and 4129 is D1 only, can you see if this still is a problem here?
Comment #3 by doob — 2013-10-07T00:49:58Z
(In reply to comment #2) > Jacob - since 4481 and 6896 appear to be fixed, and 4129 is D1 only, can you > see if this still is a problem here? I cannot reproduce this error anymore.
Comment #4 by bugzilla — 2013-10-07T13:36:23Z
Thank you. Marking as resolved.