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

class A<X extends core::Object = dynamic> extends core::Object {
  synthetic constructor •() → self::A<self::A::X>
    ;
}
class C<X extends core::Object = dynamic, Y extends self::A<self::C::X> = dynamic> extends core::Object {
  synthetic constructor •() → self::C<self::C::X, self::C::Y>
    ;
}
class D<X extends core::num = dynamic, Y extends self::A<self::D::X> = dynamic> extends core::Object {
  synthetic constructor •() → self::D<self::D::X, self::D::Y>
    ;
}
class E<X extends core::Object = dynamic, Y extends () → self::E::X = dynamic> extends core::Object {
  synthetic constructor •() → self::E<self::E::X, self::E::Y>
    ;
}
class F<X extends core::num = dynamic, Y extends () → self::F::X = dynamic> extends core::Object {
  synthetic constructor •() → self::F<self::F::X, self::F::Y>
    ;
}
static field dynamic lc;
static field dynamic mc;
static field dynamic ld;
static field dynamic md;
static field dynamic le;
static field dynamic me;
static field dynamic lf;
static field dynamic mf;
static method main() → dynamic
  ;
