[Issue 23676] Static foreach hangs compilation for some time

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 15 15:58:58 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=23676

Dennis <dkorpel at live.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dkorpel at live.nl

--- Comment #8 from Dennis <dkorpel at live.nl> ---
Reduced a bit further:

```
void f()
{
    int i;
    bool g(int I)()
    {
        static foreach(j; 0..11)
        {
            i++;
            return g!j();
        }
    }
    g!0;
}
```

The 11 is the number of enum members of Type. The amount of calls to
`checkEscapingSiblings` grows exponentially based on the loop length, which is
why compilation hangs.

--


More information about the Digitalmars-d-bugs mailing list