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

static method test(core::List<core::num*>* nums) → void {
  for (dynamic x in nums) {
    if(x is core::int*) {
      dynamic y = x;
    }
  }
}
static method main() → dynamic {}
