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

static method test1() → dynamic {
  core::List<core::int*>* o;
  core::Iterable<core::Null?>* y = o.{core::Iterable::map}<core::Null?>((core::int* x) → core::Null? {});
  core::Iterable<core::int*>* z = y;
}
static method main() → dynamic {}
