library test;
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<generic-covariant-impl U extends self::C::T* = self::C::T*>(self::C::f::U* x) → void
    ;
  method g1<generic-covariant-impl U extends self::C::T* = self::C::T*>() → void
    ;
}
static method g2(self::C<core::Object*>* c) → void
  ;
static method test() → void
  ;
static method main() → void
  ;
