https://issues.dlang.org/show_bug.cgi?id=12057
--- Comment #4 from [email protected] --- Minimal failing test case: ----- // Compile with: dmd -O bool prop(real x) { return false; } double f(real) { return double.init; } void main() { real fc = f(real.init); if (fc == 0 || fc.prop) {} } ----- The ICE goes away if compiling without -O. Looks like an optimizer bug. --
