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

class C<T extends core::Object = dynamic> extends core::Object {
  synthetic constructor •() → void
    ;
  method f1(self::C::T x) → void
    ;
  method f2(core::int x) → void
    ;
}
class D extends self::C<core::num> {
  synthetic constructor •() → void
    ;
  method f1(covariant core::int x) → void
    ;
}
static method g1(dynamic d) → void
  ;
static method g2(dynamic d) → void
  ;
static method test() → void
  ;
static method main() → dynamic
  ;
