library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class B<T extends core::Object? = dynamic> extends core::Object {
  covariant-by-class field self::B::T? x = null;
  synthetic constructor •() → self::B<self::B::T%>
    : super core::Object::•()
    ;
}
class C extends core::Object {
  field core::num? x = null;
  synthetic constructor •() → self::C
    : super core::Object::•()
    ;
}
class D extends self::C implements self::B<core::num> {
  synthetic constructor •() → self::D
    : super self::C::•()
    ;
  forwarding-stub set x(covariant-by-class core::num? value) → void
    return super.{self::C::x} = value;
}
static method main() → void {}
