Thread overview |
---|
August 10, 2007 [Issue 1409] New: Assertion failure: '0' on line 4799 in file 'expression.c' | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=1409 Summary: Assertion failure: '0' on line 4799 in file 'expression.c' Product: D Version: 1.020 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: sky@quit-clan.de The compiler crashes on the following code (which is, in its current state, invalid - but i can't debug it because of the compiler crash). I'm sorry that i could not reduce it further. ----- import std.traits; private template XParameters(uint n, T...) { alias T[0..n] types; alias T[n..$] curried; } private template FuncOpcalls(uint i, alias F, alias parameters) { alias Func!(F, parameters.curried.length + i) NewFunc; NewFunc opCall(parameters.types[0..i] p) { return new NewFunc(parameters.curried, p); } static if (i < parameters.types.length) mixin FuncOpcalls!(i+1, F, parameters); } class Func(alias F, uint nCurried=0) { alias ParameterTypeTuple!(F) paramTypes; paramTypes[0..nCurried] curriedParameters; mixin FuncOpcalls!(1, F, XParameters!(paramTypes.length, paramTypes, curriedParameters)); } void add(int) { } alias Func!(add) c_add; ----- Compiler output: ----- Assertion failure: '0' on line 4799 in file 'expression.c' abnormal program termination ----- -- |
August 10, 2007 [Issue 1409] Assertion failure: '0' on line 4799 in file 'expression.c' | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1409 deewiant@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code ------- Comment #1 from deewiant@gmail.com 2007-08-10 09:01 ------- Reduced: -- import std.traits; template XParameters(T...) { alias T curried; } template FuncOpcalls(alias parameters) { alias Func!(parameters.curried + i) NewFunc; } class Func(alias F) { ParameterTypeTuple!(F) curriedParameters; mixin FuncOpcalls!(XParameters!(curriedParameters)); } alias Func!((int){}) c_add; -- Appears to be a known bug: a comment in expression.c says "BUG: handle other cases like in IdentifierExp::semantic()" just prior to the assert(0) which this hits. -- |
October 09, 2007 [Issue 1409] Assertion failure: '0' on line 4799 in file 'expression.c' | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1409 ------- Comment #2 from wbaxter@gmail.com 2007-10-09 14:51 ------- Still there as of DMD 1.022. Line number is now 4826, though. -- |
May 14, 2009 [Issue 1409] Assertion failure: '0' on line 4799 in file 'expression.c' | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1409 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |clugdbug@yahoo.com.au Resolution| |FIXED --- Comment #3 from Don <clugdbug@yahoo.com.au> 2009-05-14 03:36:57 PDT --- Fixed sometime before DMD1.045 and 2.030. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation