http://d.puremagic.com/issues/show_bug.cgi?id=3919
Summary: Assertion failure: '0' on line 9944 in file 'expression.c' Product: D Version: 2.041 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: crimson.ma...@gmail.com --- Comment #0 from Aldo Nunez <crimson.ma...@gmail.com> 2010-03-09 18:01:17 PST --- The error is in MulExp::semantic. It happens no matter if the multiplication expression is in a template. These are the combinations that fail: IF * ifloat IF * IF ID * idouble ID * ID IR * ireal IR * IR Here's a sample: import std.stdio; typedef ifloat IF; typedef idouble ID; typedef ireal IR; template PrintAddedType(X, Y) { void PrintAddedType() { X x; Y y; writeln( typeid( x ), " ", typeid( y ), " ", typeid( x * y ) ); } } template PrintAddedType(X) { void PrintAddedType() { /* PrintAddedType!(X, ifloat)(); PrintAddedType!(X, idouble)(); PrintAddedType!(X, ireal)(); */ /* PrintAddedType!(X, IF)(); PrintAddedType!(X, ID)(); PrintAddedType!(X, IR)(); */ } } void main() { /* PrintAddedType!(IF)(); PrintAddedType!(ID)(); PrintAddedType!(IR)(); */ IR x; IR y; writeln( typeid( x ), "\t", typeid( y ), "\t", typeid( x * y ) ); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------