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

class B<T extends core::Object* = dynamic> extends core::Object {
  synthetic constructor •() → self::B<self::B::T*>*
    ;
  method f(generic-covariant-impl self::B::T* x) → void
    ;
  method g({generic-covariant-impl self::B::T* x}) → void
    ;
  method h<generic-covariant-impl U extends self::B::T* = self::B::T*>() → void
    ;
}
class C extends self::B<core::int*> {
  synthetic constructor •() → self::C*
    ;
}
static method g1(self::B<core::num*>* b) → void
  ;
static method g2(self::C* c) → void
  ;
static method test() → void
  ;
static method main() → void
  ;
