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

static method f<S extends core::Object* = dynamic, T extends core::Object* = dynamic>(self::f::S* s) → self::f::T*
  return null;
static method main() → dynamic {
  core::String* x = self::f<core::int*, core::String*>(42);
  core::String* y = (#C1).call<core::int*, core::String*>(42);
}

constants  {
  #C1 = tearoff self::f
}
