39 lines
No EOL
1.4 KiB
Text
39 lines
No EOL
1.4 KiB
Text
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 }
|
|
}
|
|
|
|
|