6e77e2e810
Also got rid of the 'terminalMessages' concept.
27 lines
1.2 KiB
Plaintext
27 lines
1.2 KiB
Plaintext
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classIsSubtypeOfBaseType.ts(11,7): error TS2415: Class 'Derived2' incorrectly extends base class 'Base<{ bar: string; }>'.
|
|
Types of property 'foo' are incompatible.
|
|
Type '{ bar?: string; }' is not assignable to type '{ bar: string; }'.
|
|
Property 'bar' is optional in type '{ bar?: string; }' but required in type '{ bar: string; }'.
|
|
|
|
|
|
==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classIsSubtypeOfBaseType.ts (1 errors) ====
|
|
class Base<T> {
|
|
foo: T;
|
|
}
|
|
|
|
class Derived extends Base<{ bar: string; }> {
|
|
foo: {
|
|
bar: string; baz: number; // ok
|
|
}
|
|
}
|
|
|
|
class Derived2 extends Base<{ bar: string; }> {
|
|
~~~~~~~~
|
|
!!! error TS2415: Class 'Derived2' incorrectly extends base class 'Base<{ bar: string; }>'.
|
|
!!! error TS2415: Types of property 'foo' are incompatible.
|
|
!!! error TS2415: Type '{ bar?: string; }' is not assignable to type '{ bar: string; }'.
|
|
!!! error TS2415: Property 'bar' is optional in type '{ bar?: string; }' but required in type '{ bar: string; }'.
|
|
foo: {
|
|
bar?: string; // error
|
|
}
|
|
} |