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

class C<T extends core::Object> extends core::Object {
  default constructor •() → void
    : super core::Object::•()
    ;
  method f<U extends core::Object>(self::C::f::U x) → (self::C::T) → void
    return (dynamic y) → dynamic {};
}
static method test(self::C<core::String> c) → void {
  (core::int) → (core::String) → void tearoff = c.f;
}
static method main() → dynamic {}
