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

class I<X extends core::Object> extends core::Object {
  synthetic constructor •() → void
    ;
}
class M0<X extends core::Object, Y extends self::M0::X> extends self::I<self::M0::X> {
  synthetic constructor •() → void
    ;
}
class M1 extends core::Object implements self::I<core::int> {
  synthetic constructor •() → void
    ;
}
abstract class _M1&M0 = self::M1 with self::M0<dynamic, dynamic> {
}
class A extends self::_M1&M0 {
  synthetic constructor •() → void
    ;
}
static method main() → dynamic
  ;
