std.conv.ConvException from double to uint64_t, but only locally in a large project

drathier at
Tue Aug 4 17:36:45 UTC 2020

I'm getting a crash when I'm converting a double to an uint64_t.

std.conv.ConvException@/usr/local/opt/dmd/include/dlang/dmd/std/conv.d(2054): Value (1596) does not match any member value of enum '__c_ulonglong'

I've narrowed down the code to this:
static import std.conv;
double thing = 42.0;!(uint64_t)(thing);
which works just fine on or in a 
single-file dmd invocation. When I compile and run it locally on 
my mac as part of a specific large app using dub, it always 
crashes like this.

Where would I even start debugging this?

DMD64 D Compiler v2.093.0
DUB version 1.22.0, built on Jul  9 2020

More information about the Digitalmars-d-learn mailing list