Taken from recently introduce test case.
https://github.com/dlang/dmd/pull/7120
---
int bug17807(){
int y=0;
Lswitch: switch(2){
{ case 0: break; }
enum x=0;
struct S{ enum x=0; }
int foo(){
return 0;
}
default: y=x+S.x+foo();
foreach(i;1..5)
case i: break Lswitch;
}
return y;
}
---
Removing the 'static' in foreach results in a compiler ICE.