library test;
import self as self;
import "dart:core" as core;

static method test() → void {
  #L1:
  for (core::num x = 0; ; x = x.+(1)) {
    if(x.>=(10))
      break #L1;
    if(x is core::int) {
      dynamic y = x{core::int};
    }
  }
}
static method main() → dynamic {}
