1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithMultipleBaseTypes2.ts(17,11): error TS2430: Interface 'Derived2' incorrectly extends interface 'Base'.
Types of property 'x' are incompatible.
Type '{ a: number; b: string; }' is not assignable to type '{ a?: string; b: string; }'.
Types of property 'a' are incompatible.
Type 'number' is not assignable to type 'string'.
==== tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithMultipleBaseTypes2.ts (1 errors) ====
interface Base {
x: {
a?: string; b: string;
}
}
interface Base2 {
x: {
b: string; c?: number;
}
}
interface Derived extends Base, Base2 {
x: { b: string }
}
interface Derived2 extends Base, Base2 { // error
~~~~~~~~
!!! error TS2430: Interface 'Derived2' incorrectly extends interface 'Base'.
!!! error TS2430: Types of property 'x' are incompatible.
!!! error TS2430: Type '{ a: number; b: string; }' is not assignable to type '{ a?: string; b: string; }'.
!!! error TS2430: Types of property 'a' are incompatible.
!!! error TS2430: Type 'number' is not assignable to type 'string'.
x: { a: number; b: string }
}
interface Derived3 extends Base, Base2 {
x: { a: string; b: string }
}
|