library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

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