View mode: basic / threaded / horizontal-split · Log in · Help
April 03, 2012
DMD asserts using delegate and type inference
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
Re: DMD asserts using delegate and type inference
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
Re: DMD asserts using delegate and type inference
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
Re: DMD asserts using delegate and type inference
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
Re: DMD asserts using delegate and type inference
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
Re: DMD asserts using delegate and type inference
On 4/5/2012 2:34 AM, Jacob Carlborg wrote:
> Done: http://d.puremagic.com/issues/show_bug.cgi?id=7827

Thank-you.
Top | Discussion index | About this forum | D home