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

static field dynamic x = self::run<dynamic>(self::printRunning);
static method run<T extends core::Object = dynamic>(() → self::run::T f) → self::run::T {
  core::print("running");
  dynamic t = f.call();
  core::print("done running");
  return t;
}
static method printRunning() → void {
  core::print("running");
}
static method main() → dynamic {
  function printRunning() → void {
    core::print("running");
  }
  dynamic x = self::run<dynamic>(printRunning);
  dynamic y = self::run<dynamic>(printRunning);
  x = 123;
  x = "hi";
  y = 123;
  y = "hi";
}
