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

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