library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

static field dynamic x = self::run<dynamic>(#C1);
static method run<T extends core::Object? = dynamic>(() → self::run::T% f) → self::run::T% {
  core::print("running");
  self::run::T% t = f(){() → self::run::T%};
  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";
}

constants  {
  #C1 = static-tearoff self::printRunning
}
