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

typedef F<contravariant T extends core::Object? = dynamic> = (T%) → void;
class C<T extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::C<self::C::T%>
    ;
  method f1() → (self::C::T%) → void
    ;
  method f2() → core::List<(self::C::T%) → void>
    ;
}
static method g1(self::C<core::num>? c) → void
  ;
static method g2(self::C<core::num>? c) → void
  ;
static method g3(self::C<core::num>? c) → void
  ;
static method main() → void
  ;
