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 {
|
2015-04-16 01:44:20 +02:00
|
|
|
>I : I
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
(x): number;
|
2015-04-16 01:44:20 +02:00
|
|
|
>x : any
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
(x): void; // error
|
2015-04-16 01:44:20 +02:00
|
|
|
>x : any
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
<T>(x: T): number;
|
2015-04-16 01:44:20 +02:00
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
<T>(x: T): string; // error
|
2015-04-16 01:44:20 +02:00
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
interface I2 {
|
2015-04-16 01:44:20 +02:00
|
|
|
>I2 : I2
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
<T>(x: T): number;
|
2015-04-16 01:44:20 +02:00
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
<T>(x: T): string; // error
|
2015-04-16 01:44:20 +02:00
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
interface I3<T> {
|
2015-04-16 01:44:20 +02:00
|
|
|
>I3 : I3<T>
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
(x: T): number;
|
2015-04-16 01:44:20 +02:00
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
(x: T): string; // error
|
2015-04-16 01:44:20 +02:00
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
var a: {
|
2015-04-16 01:44:20 +02:00
|
|
|
>a : { (x: any, y: any): Object; (x: any, y: any): any; }
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
(x, y): Object;
|
2015-04-16 01:44:20 +02:00
|
|
|
>x : any
|
|
|
|
>y : any
|
|
|
|
>Object : Object
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
(x, y): any; // error
|
2015-04-16 01:44:20 +02:00
|
|
|
>x : any
|
|
|
|
>y : any
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
var a2: {
|
2015-04-16 01:44:20 +02:00
|
|
|
>a2 : { <T>(x: T): number; <T>(x: T): string; }
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
<T>(x: T): number;
|
2015-04-16 01:44:20 +02:00
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
<T>(x: T): string; // error
|
2015-04-16 01:44:20 +02:00
|
|
|
>T : T
|
|
|
|
>x : T
|
|
|
|
>T : T
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|