https://issues.dlang.org/show_bug.cgi?id=13474
--- Comment #8 from yebblies <yebbl...@gmail.com> --- (In reply to Илья Ярошенко from comment #6) > F foo(F)(F c, F d) { > c += d; > c += d; > return c; > } > > void test1() { > alias F = double; > enum F d = (cast(F)(2)) ^^ (F.max_exp - 1); > assert(foo(-d, d) == d); > } That doesn't fail for me on win32 with -O. --