[Issue 24534] Having a label on a declaration makes it possible to skip it with goto
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sun May 19 08:22:37 UTC 2024
    
    
  
https://issues.dlang.org/show_bug.cgi?id=24534
--- Comment #8 from Richard (Rikki) Andrew Cattermole <alphaglosined at gmail.com> ---
I've done some playing around to see if backward goto's have an equivalent
issue.
It seems dmd is actually smart there, and I couldn't get that to not work.
Generates a try/finally:
```
Label:
    SomethingWithSideEffects var = 0;
    try
    {
        if (uniform01() > 0.5)
            return 0;
        goto Label;
    }
    finally
        var.~this();
```
This means only forward goto's have broken analysis.
--
    
    
More information about the Digitalmars-d-bugs
mailing list