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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
tests/cases/compiler/multipleInheritance.ts(9,21): error TS1174: Classes can only extend a single class.
tests/cases/compiler/multipleInheritance.ts(18,21): error TS1174: Classes can only extend a single class.
tests/cases/compiler/multipleInheritance.ts(35,12): error TS2425: Class 'Good' defines instance member property 'f', but extended class 'Baad' defines it as instance member function.
tests/cases/compiler/multipleInheritance.ts(36,12): error TS2416: Property 'g' in type 'Baad' is not assignable to the same property in base type 'Good'.
Type '(n: number) => number' is not assignable to type '() => number'.
==== tests/cases/compiler/multipleInheritance.ts (4 errors) ====
class B1 {
public x;
}
class B2 {
public x;
}
class C extends B1, B2 { // duplicate member
~~
!!! error TS1174: Classes can only extend a single class.
}
class D1 extends B1 {
}
class D2 extends B2 {
}
class E extends D1, D2 { // nope, duplicate member
~~
!!! error TS1174: Classes can only extend a single class.
}
class N {
public y:number;
}
class ND extends N { // any is assignable to number
public y;
}
class Good {
public f:() => number = function() { return 0; }
public g() { return 0; }
}
class Baad extends Good {
public f(): number { return 0; }
~
!!! error TS2425: Class 'Good' defines instance member property 'f', but extended class 'Baad' defines it as instance member function.
public g(n:number) { return 0; }
~
!!! error TS2416: Property 'g' in type 'Baad' is not assignable to the same property in base type 'Good'.
!!! error TS2416: Type '(n: number) => number' is not assignable to type '() => number'.
}
|