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

static field dynamic h = null;
static method foo((core::Object) → core::int f) → void {}
static method test() → dynamic {
  dynamic f = (core::Object x) → dynamic {
    return null;
  };
  core::String y = f.call(42);
  f = (dynamic x) → dynamic => "hello";
  self::foo((dynamic x) → dynamic {
    return null;
  });
  self::foo((dynamic x) → dynamic {
    throw "not implemented";
  });
}
static method main() → dynamic {}
