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

class I<X extends core::Object> extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
}
class M0<T extends core::Object> extends self::I<self::M0::T> {
  synthetic constructor •() → void
    : super self::I::•()
    ;
}
class M1<T extends core::Object> extends self::I<self::M1::T> {
  synthetic constructor •() → void
    : super self::I::•()
    ;
}
class M2<T extends core::Object> extends self::I<self::M2::T> {
  synthetic constructor •() → void
    : super self::I::•()
    ;
}
abstract class _M0&M1^#U0^<#U0 extends core::Object> = self::M0<self::_M0&M1^#U0^::#U0> with self::M1<self::_M0&M1^#U0^::#U0> {
}
abstract class __M0&M1&M2^#U0^^<#U0 extends core::Object> = self::_M0&M1^#U0^<self::__M0&M1&M2^#U0^^::#U0> with self::M2<self::__M0&M1&M2^#U0^^::#U0> {
}
class A extends self::__M0&M1&M2^#U0^^<core::int> {
  synthetic constructor •() → void
    : super self::M0::•()
    ;
}
static method main() → dynamic {}
