library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart:20:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
//   new Class('');
//             ^
//
import self as self;
import "dart:core" as core;

class Mixin extends core::Object {
  synthetic constructor •() → self::Mixin*
    : super core::Object::•()
    ;
}
class Super extends core::Object {
  field core::int* field = 42;
  constructor •(core::int* field) → self::Super*
    : self::Super::field = field, super core::Object::•()
    ;
}
class Class = self::Super with self::Mixin {
  synthetic constructor •(core::int* field) → self::Class*
    : super self::Super::•(field)
    ;
}
static method main() → dynamic {
  new self::Class::•(0);
}
static method error() → dynamic {
  new self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart:20:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
  new Class('');
            ^" in "" as{TypeError} core::int*);
}
