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

class C<T extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::C<self::C::T%>
    ;
  method f<covariant-by-class U extends self::C::T%>(self::C::f::U% x) → void
    ;
}
static method g1(dynamic d) → void
  ;
static method g2(dynamic d) → void
  ;
static method test() → void
  ;
static method main() → dynamic
  ;
