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

drathier forum.dlang.org at fi.fo
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;
std.conv.to!(uint64_t)(thing);
```
which works just fine on https://run.dlang.io/ 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