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

typedef F<T extends core::Object = dynamic> = (T) → void;
class C<T extends core::Object = dynamic> extends core::Object {
  generic-covariant-impl field self::C::T x;
  synthetic constructor •() → self::C<self::C::T>
    ;
  set y(generic-covariant-impl self::C::T value) → void
    ;
  method f(generic-covariant-impl self::C::T value) → void
    ;
}
static method g(self::C<core::num> c) → void
  ;
static method main() → void
  ;
