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

class A extends core::Object {
  synthetic constructor •() → self::A
    ;
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
}
abstract class B<D extends core::Object? = dynamic> extends core::Object {
  final field self::B::D% field;
  constructor •({required self::B::D% field = null}) → self::B<self::B::D%>
    ;
}
abstract class _C&B&Mixin = self::B<self::A> with self::Mixin /*isAnonymousMixin*/  {
  synthetic constructor •({self::A field = null}) → self::_C&B&Mixin
    : super self::B::•(field: field)
    ;
}
class C extends self::_C&B&Mixin {
  constructor •({required self::A field = null}) → self::C
    ;
}
static method main() → dynamic
  ;
