https://issues.dlang.org/show_bug.cgi?id=23774
--- Comment #2 from Rainer Schuetze <r.sagita...@gmx.de> --- Something changed about the `__ctfe` branch in ``` union Split64 { ulong u64; uint lo; pragma(inline, true) this(ulong u64) { if (__ctfe) lo = cast(uint) u64; else this.u64 = u64; } } int foo(ulong v) { const sv = Split64(v); return (sv.lo == 0); } ``` If you replace `__ctfe` with `false` the wwarning disappears. --