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

static method main() → dynamic {
  core::int c = new core::DateTime::now().millisecondsSinceEpoch;
  for (core::int i = 0; i.<(100); i = i.+(1)) {
    core::print(let final dynamic #t1 = i in let final dynamic #t2 = i = #t1.+(1) in #t1);
  }
  for (core::int i = 0; i.<(100); c.<(42) ? throw "fisk" : i = i.+(1)) {
    core::print(let final dynamic #t3 = i in let final dynamic #t4 = i = #t3.+(1) in #t3);
  }
}
