https://issues.dlang.org/show_bug.cgi?id=24534
--- Comment #3 from Jonathan M Davis <issues.dl...@jmdavisprog.com> --- Well, it's in clear violation of the spec: https://dlang.org/spec/statement.html#goto-statement So, either the spec is wrong, or dmd is. Also, if you slap @safe on main, it compiles even though the initialization is skipped, which should never happen in @safe code. So, there's a bug here of some kind regardless. --