library /*isNonNullableByDefault*/;
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%>
    : super core::Object::•()
    ;
}
class C<X extends core::Object? = dynamic, Y extends self::A<self::C::X%> = self::A<dynamic>> extends core::Object {
  synthetic constructor •() → self::C<self::C::X%, self::C::Y>
    : super core::Object::•()
    ;
}
class D<X extends core::num, Y extends self::A<self::D::X> = self::A<core::num>> extends core::Object {
  synthetic constructor •() → self::D<self::D::X, self::D::Y>
    : super core::Object::•()
    ;
}
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>
    : super core::Object::•()
    ;
}
class F<X extends core::num, Y extends () → self::F::X = () → core::num> extends core::Object {
  synthetic constructor •() → self::F<self::F::X, self::F::Y>
    : super core::Object::•()
    ;
}
static field self::C<dynamic, self::A<dynamic>> c = throw "";
static field self::D<core::num, self::A<core::num>> d = throw "";
static field self::E<dynamic, () → dynamic> e = throw "";
static field self::F<core::num, () → core::num> f = throw "";
static method main() → dynamic {}
