library /*isNonNullableByDefault*/;
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>(self::A<X%> _) → core::int => 42){(<X extends core::Object? = dynamic>(self::A<X%>) → core::int) → core::int};
}
