Thread overview
DMD asserts using delegate and type inference
Apr 03, 2012
Jacob Carlborg
Apr 05, 2012
Walter Bright
Apr 05, 2012
Jacob Carlborg
Apr 05, 2012
Walter Bright
Apr 05, 2012
Jacob Carlborg
Apr 05, 2012
Walter Bright
April 03, 2012
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.

-- 
/Jacob Carlborg
April 05, 2012
On 4/3/2012 10:00 AM, Jacob Carlborg wrote:
> 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.

Assertion fails are compiler bugs. Please submit them to bugzilla:

http://d.puremagic.com/issues/enter_bug.cgi?product=D
April 05, 2012
On 2012-04-05 08:19, Walter Bright wrote:
> On 4/3/2012 10:00 AM, Jacob Carlborg wrote:
>> 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.
>
> Assertion fails are compiler bugs. Please submit them to bugzilla:
>
> http://d.puremagic.com/issues/enter_bug.cgi?product=D

Yeah, I know. I was hoping someone could help me finding a reduced test case.

-- 
/Jacob Carlborg
April 05, 2012
On 2012-04-05 08:19, Walter Bright wrote:
> On 4/3/2012 10:00 AM, Jacob Carlborg wrote:
>> 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.
>
> Assertion fails are compiler bugs. Please submit them to bugzilla:
>
> http://d.puremagic.com/issues/enter_bug.cgi?product=D

Done: http://d.puremagic.com/issues/show_bug.cgi?id=7827

-- 
/Jacob Carlborg
April 05, 2012
On 4/5/2012 2:30 AM, Jacob Carlborg wrote:
> Yeah, I know. I was hoping someone could help me finding a reduced test case.

It's still best to submit them there. Several people often comb through the issues and help finding reduced cases.

April 05, 2012
On 4/5/2012 2:34 AM, Jacob Carlborg wrote:
> Done: http://d.puremagic.com/issues/show_bug.cgi?id=7827

Thank-you.