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

static method test() → void {
  core::int i = 0;
  for (final core::int #t1 = i = i.{core::num::+}(1){(core::num) → core::int}; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
  }
  for (final core::int #t2 = i = i.{core::num::+}(1){(core::num) → core::int}; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
  }
  for (final core::int #t3 = i = i.{core::num::-}(1){(core::num) → core::int}; i.{core::num::>=}(0){(core::num) → core::bool}; i = i.{core::num::-}(1){(core::num) → core::int}) {
  }
  for (final core::int #t4 = i = i.{core::num::-}(1){(core::num) → core::int}; i.{core::num::>=}(0){(core::num) → core::bool}; i = i.{core::num::-}(1){(core::num) → core::int}) {
  }
}
static method main() → dynamic {}
