//case 1 { l1: { int v; } v = 5; // works, block after label does not introduce new scope } // case 2 { while(1) l2: { int v; } v = 5; // error, v is undefined, seems correct as // WhileStatement: // while ( Expression ) ScopeStatement } // case 3 { if(1) l3: { int v; } v = 5; // works! seems inconsistent and incorrect as // ThenStatement: // ScopeStatement }
Fixed now, there was a bug with if/mixin that was probably the same root cause.