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<core::int*, core::String*>(42){(core::int*) →* core::String*};
}

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