45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts(21,1): error TS2322: Type 'C' is not assignable to type 'I'.
|
|
Property 'other' is missing in type 'C'.
|
|
tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts(24,1): error TS2322: Type 'I' is not assignable to type 'D'.
|
|
Property 'bar' is missing in type 'I'.
|
|
tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts(27,1): error TS2322: Type 'C' is not assignable to type 'D'.
|
|
Property 'other' is missing in type 'C'.
|
|
|
|
|
|
==== tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts (3 errors) ====
|
|
class C {
|
|
public foo(x: any) { return x; }
|
|
private x = 1;
|
|
}
|
|
|
|
interface I extends C {
|
|
other(x: any): any;
|
|
}
|
|
|
|
class D extends C implements I {
|
|
public foo(x: any) { return x; }
|
|
other(x: any) { return x; }
|
|
bar() { }
|
|
}
|
|
|
|
var c: C;
|
|
var i: I;
|
|
var d: D;
|
|
|
|
c = i;
|
|
i = c; // error
|
|
~
|
|
!!! error TS2322: Type 'C' is not assignable to type 'I'.
|
|
!!! error TS2322: Property 'other' is missing in type 'C'.
|
|
|
|
i = d;
|
|
d = i; // error
|
|
~
|
|
!!! error TS2322: Type 'I' is not assignable to type 'D'.
|
|
!!! error TS2322: Property 'bar' is missing in type 'I'.
|
|
|
|
c = d;
|
|
d = c; // error
|
|
~
|
|
!!! error TS2322: Type 'C' is not assignable to type 'D'.
|
|
!!! error TS2322: Property 'other' is missing in type 'C'. |