blob: 7f6f63dc9d8a7bfa1e85bac436736c576bc3bcbb [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:24:7: Error: The non-abstract class 'N2' is missing implementations for these members:
// - M.foo
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class N2 = Object with M2;
// ^^
// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:9:3: Context: 'M.foo' is defined here.
// foo() {}
// ^^^
//
// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:31:7: Error: The non-abstract class 'C2' is missing implementations for these members:
// - M.foo
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class C2 extends Object with M2 {}
// ^^
// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:9:3: Context: 'M.foo' is defined here.
// foo() {}
// ^^^
//
import self as self;
import "dart:core" as core;
class M extends core::Object {
synthetic constructor •() self::M*
: super core::Object::•()
;
method foo() dynamic {}
}
class N = core::Object with self::M {
const synthetic constructor •() self::N*
: super core::Object::•()
;
}
abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin*/ {
const synthetic constructor •() self::_C&Object&N*
: super core::Object::•()
;
}
class C extends self::_C&Object&N {
synthetic constructor •() self::C*
: super self::_C&Object&N::•()
;
}
abstract class M2 extends core::Object implements self::M {
synthetic constructor •() self::M2*
: super core::Object::•()
;
method bar() dynamic {}
}
class N2 = core::Object with self::M2 {
const synthetic constructor •() self::N2*
: super core::Object::•()
;
}
abstract class N3 = core::Object with self::M2 {
const synthetic constructor •() self::N3*
: super core::Object::•()
;
}
abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin*/ {
const synthetic constructor •() self::_C2&Object&M2*
: super core::Object::•()
;
}
class C2 extends self::_C2&Object&M2 {
synthetic constructor •() self::C2*
: super self::_C2&Object&M2::•()
;
}
abstract class _C3&Object&M2 = core::Object with self::M2 /*isAnonymousMixin*/ {
const synthetic constructor •() self::_C3&Object&M2*
: super core::Object::•()
;
}
abstract class C3 extends self::_C3&Object&M2 {
synthetic constructor •() self::C3*
: super self::_C3&Object&M2::•()
;
}
static method main() dynamic {}