www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - DMD assertion failure

Minimalist test case:

# void test() {}
#
# void main()
# {
#   double d;
#   d += test();
# }

Result:

tst.d(6): void has no value
tst.d(6): incompatible types for ((d) += (test())): 'double' and 'void'
tst.d(6): 'test()' is not an arithmetic type
dmd: expression.c:3971: virtual Expression* AddAssignExp::semantic(Scope*):
Assertion `e2->type->isfloating()' failed.

Nick
Sep 01 2004