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
|
=== tests/cases/compiler/derivedTypeCallingBaseImplWithOptionalParams.ts ===
interface MyInterface {
myMethod(...myList: any[]);
>myMethod : (...myList: any[]) => any
>myList : any[]
}
class MyClass implements MyInterface {
>MyClass : MyClass
myMethod(myList: any[]) { // valid
>myMethod : (myList: any[]) => void
>myList : any[]
}
}
var x: MyInterface = new MyClass();
>x : MyInterface
>new MyClass() : MyClass
>MyClass : typeof MyClass
x.myMethod(); // should be valid, but MyClass has no implementation to handle it.
>x.myMethod() : any
>x.myMethod : (...myList: any[]) => any
>x : MyInterface
>myMethod : (...myList: any[]) => any
var y: MyClass = new MyClass();
>y : MyClass
>new MyClass() : MyClass
>MyClass : typeof MyClass
y.myMethod(); // error
>y.myMethod() : void
>y.myMethod : (myList: any[]) => void
>y : MyClass
>myMethod : (myList: any[]) => void
|