https://issues.dlang.org/show_bug.cgi?id=24534
Richard Cattermole <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P3 CC| |[email protected] Severity|normal |enhancement --- Comment #2 from Richard Cattermole <[email protected]> --- After thinking about this, it's intentional. This allows you to have multiple blocks at the end of your function that handle things like success versus error. It is very C style, and is used in dmd. The solution of course would be to create a new scope so it doesn't bleed between the labels. ```d goto Lerror; Lsuccess: { } Lerror: { } ``` If this is fixed, it's going to need a very long deprecation. Or we could kill off this logic entirely and have type state analysis proper which works on a per-variable basis rather than a coarse reverse search which it is currently. --
