library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/regress/issue_36669.dart:11:7: Error: The superclass, 'NoUnnamedConstructor with MixMeIn', has no unnamed constructor that takes no arguments.
// class Foo extends NoUnnamedConstructor with MixMeIn {}
//       ^
//
import self as self;
import "dart:core" as core;

class NoUnnamedConstructor extends core::Object {
  constructor _() → self::NoUnnamedConstructor
    : super core::Object::•()
    ;
}
class MixMeIn extends core::Object {
  synthetic constructor •() → self::MixMeIn
    : super core::Object::•()
    ;
}
abstract class _Foo&NoUnnamedConstructor&MixMeIn = self::NoUnnamedConstructor with self::MixMeIn /*isAnonymousMixin*/  {
  synthetic constructor _() → self::_Foo&NoUnnamedConstructor&MixMeIn
    : super self::NoUnnamedConstructor::_()
    ;
}
class Foo extends self::_Foo&NoUnnamedConstructor&MixMeIn {
  synthetic constructor •() → self::Foo
    : invalid-initializer
    ;
}
