static if (T.sizeof == 4) { /*A*/ } else static if (T.sizeof == 8) { /*B*/ } else static if (T.sizeof == 12) { /*C*/ } version (Windows) {} else version (linux) {} else version (OSX) {} static if (something) {} else version (foo) {} else static if (somethingelse) {} ---- When such a construct is detected and none of the conditional blocks is matched the compiler should warn/error about an unhandled case. We could also try to make the declaration of such a ladder without an else-clause a warning/error. This would require an explicit "else {}" to achieve the current behavior and avoids inadvertently missing else clauses similar to how non-final switch statements require a default label.
A somewhat related ER: http://d.puremagic.com/issues/show_bug.cgi?id=8433
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17620 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB