TypeScript/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types

77 lines
1.1 KiB
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType.ts ===
// Each pair of signatures in these types has a signature that should cause an error.
// Overloads, generic or not, that differ only by return type are an error.
interface I {
>I : I
2014-08-15 23:33:16 +02:00
(x): number;
>x : any
2014-08-15 23:33:16 +02:00
(x): void; // error
>x : any
2014-08-15 23:33:16 +02:00
<T>(x: T): number;
>T : T
>x : T
>T : T
2014-08-15 23:33:16 +02:00
<T>(x: T): string; // error
>T : T
>x : T
>T : T
2014-08-15 23:33:16 +02:00
}
interface I2 {
>I2 : I2
2014-08-15 23:33:16 +02:00
<T>(x: T): number;
>T : T
>x : T
>T : T
2014-08-15 23:33:16 +02:00
<T>(x: T): string; // error
>T : T
>x : T
>T : T
2014-08-15 23:33:16 +02:00
}
interface I3<T> {
>I3 : I3<T>
>T : T
2014-08-15 23:33:16 +02:00
(x: T): number;
>x : T
>T : T
2014-08-15 23:33:16 +02:00
(x: T): string; // error
>x : T
>T : T
2014-08-15 23:33:16 +02:00
}
var a: {
>a : { (x: any, y: any): Object; (x: any, y: any): any; }
2014-08-15 23:33:16 +02:00
(x, y): Object;
>x : any
>y : any
>Object : Object
2014-08-15 23:33:16 +02:00
(x, y): any; // error
>x : any
>y : any
2014-08-15 23:33:16 +02:00
}
var a2: {
>a2 : { <T>(x: T): number; <T>(x: T): string; }
2014-08-15 23:33:16 +02:00
<T>(x: T): number;
>T : T
>x : T
>T : T
2014-08-15 23:33:16 +02:00
<T>(x: T): string; // error
>T : T
>x : T
>T : T
2014-08-15 23:33:16 +02:00
}