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>(() → self::run::T f) → self::run::T {
  core::print("running");
  self::run::T 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);
  void y = self::run<void>(printRunning);
  x = 123;
  x = "hi";
  y = 123;
  y = "hi";
}
