2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/compiler/classSideInheritance3.ts (2 errors) ====
|
|
|
|
class A {
|
|
|
|
constructor(public x: string) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class B extends A {
|
|
|
|
constructor(x: string, public data: string) {
|
|
|
|
super(x);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class C extends A {
|
|
|
|
constructor(x: string) {
|
|
|
|
super(x);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var r1: typeof A = B; // error
|
2014-07-19 02:30:06 +02:00
|
|
|
~~
|
2014-07-13 01:04:16 +02:00
|
|
|
!!! Type 'typeof B' is not assignable to type 'typeof A'.
|
|
|
|
var r2: new (x: string) => A = B; // error
|
2014-07-19 02:30:06 +02:00
|
|
|
~~
|
2014-07-13 01:04:16 +02:00
|
|
|
!!! Type 'typeof B' is not assignable to type 'new (x: string) => A'.
|
|
|
|
var r3: typeof A = C; // ok
|