library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/interface_conflict.dart:13:16: Error: Class 'C' inherits multiple members named 'n' with incompatible signatures.
// Try adding a declaration of 'n' to 'C'.
// abstract class C implements A, B {}
//                ^
// pkg/front_end/testcases/general/interface_conflict.dart:6:11: Context: This is one of the inherited members.
//   int get n => 1;
//           ^
// pkg/front_end/testcases/general/interface_conflict.dart:10:14: Context: This is one of the inherited members.
//   double get n => 2.0;
//              ^
//
import self as self;
import "dart:core" as core;

class A extends core::Object {
  synthetic constructor •() → self::A*
    : super core::Object::•()
    ;
  get n() → core::int*
    return 1;
}
class B extends core::Object {
  synthetic constructor •() → self::B*
    : super core::Object::•()
    ;
  get n() → core::double*
    return 2.0;
}
abstract class C extends core::Object implements self::A, self::B {
  synthetic constructor •() → self::C*
    : super core::Object::•()
    ;
}
abstract class D extends core::Object implements self::C {
  synthetic constructor •() → self::D*
    : super core::Object::•()
    ;
}
static method main() → dynamic {}
