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

class C<T extends core::Object = dynamic> extends core::Object {
  field core::String trace;
  constructor •({dynamic a, dynamic b}) → self::C<self::C::T>
    ;
}
class M extends core::Object {
  synthetic constructor •() → self::M
    ;
}
class D = self::C<core::String> with self::M {
  synthetic constructor •({dynamic a, dynamic b}) → self::D
    : super self::C::•(a: a, b: b)
    ;
}
class E extends self::D {
  synthetic constructor •() → self::E
    ;
}
abstract class _F&C&M = self::C<core::int> with self::M {
  synthetic constructor •({dynamic a, dynamic b}) → self::_F&C&M
    : super self::C::•(a: a, b: b)
    ;
}
class F extends self::_F&C&M {
  synthetic constructor •() → self::F
    ;
}
static method main() → dynamic
  ;
