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

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