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

class A<X extends core::Object> extends core::Object {
  synthetic constructor •() → void
    ;
}
class C<X extends core::Object, Y extends (self::C::X) → self::C::X> extends core::Object {
  synthetic constructor •() → void
    ;
}
class D<X extends core::num, Y extends (self::D::X) → self::D::X> extends core::Object {
  synthetic constructor •() → void
    ;
}
static field self::C<dynamic, dynamic> c;
static field self::D<dynamic, dynamic> d;
static method main() → dynamic
  ;
