library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class A<T extends core::Object? = dynamic> extends core::Object {
  field (self::A::T%) → void f;
  constructor •((self::A::T%) → void f) → self::A<self::A::T%>
    : self::A::f = f, super core::Object::•()
    ;
  method foo(covariant-by-class self::A::T% x) → dynamic
    return let final self::A::T% #t1 = x in this.{self::A::f}{(self::A::T%) → void}(#t1){(self::A::T%) → void};
}
static method main() → dynamic {
  new self::A::•<core::int>((core::int x) → void {}).{self::A::foo}(3){(core::int) → dynamic};
}
