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

class D<X extends (self::D::X, self::D::Y) → void = (core::Null, core::Null) → void, Y extends (self::D::X, self::D::Y) → void = (core::Null, core::Null) → void> extends core::Object {
  synthetic constructor •() → self::D<self::D::X, self::D::Y>
    : super core::Object::•()
    ;
}
class E<X extends (self::E::X) → void = (core::Null) → void> extends core::Object {
  synthetic constructor •() → self::E<self::E::X>
    : super core::Object::•()
    ;
}
static field self::D<(core::Null, core::Null) → void, (core::Null, core::Null) → void> d;
static field self::E<(core::Null) → void> e;
static method main() → dynamic {}
