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

class A<X extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::A<self::A::X%>
    : super core::Object::•()
    ;
  method f<R extends core::Object? = dynamic>(<X extends core::Object? = dynamic>(self::A<X%>) → self::A::f::R% f) → self::A::f::R%
    return f<self::A::X%>(this){(self::A<self::A::X%>) → self::A::f::R%};
}
static method main() → dynamic {
  self::A<core::num> a = new self::A::•<core::int>();
  a.{self::A::f}<core::int>(<X extends core::Object? = dynamic>(wildcard self::A<X%> _#wc0#formal) → core::int => 42){(<X extends core::Object? = dynamic>(self::A<X%>) → core::int) → core::int};
}
