File: genericCallWithObjectLiteralArguments1.types

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (65 lines) | stat: -rw-r--r-- 1,464 bytes parent folder | download | duplicates (4)
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
56
57
58
59
60
61
62
63
64
65
=== tests/cases/compiler/genericCallWithObjectLiteralArguments1.ts ===
function foo<T>(n: { x: T; y: T }, m: T) { return m; }
>foo : <T>(n: {    x: T;    y: T;}, m: T) => T
>n : { x: T; y: T; }
>x : T
>y : T
>m : T
>m : T

// these are all errors
var x = foo({ x: 3, y: "" }, 4);
>x : number
>foo({ x: 3, y: "" }, 4) : number
>foo : <T>(n: { x: T; y: T; }, m: T) => T
>{ x: 3, y: "" } : { x: number; y: string; }
>x : number
>3 : 3
>y : string
>"" : ""
>4 : 4

var x2 = foo<number>({ x: 3, y: "" }, 4); 
>x2 : number
>foo<number>({ x: 3, y: "" }, 4) : number
>foo : <T>(n: { x: T; y: T; }, m: T) => T
>{ x: 3, y: "" } : { x: number; y: string; }
>x : number
>3 : 3
>y : string
>"" : ""
>4 : 4

var x3 = foo<string>({ x: 3, y: "" }, 4); 
>x3 : string
>foo<string>({ x: 3, y: "" }, 4) : string
>foo : <T>(n: { x: T; y: T; }, m: T) => T
>{ x: 3, y: "" } : { x: number; y: string; }
>x : number
>3 : 3
>y : string
>"" : ""
>4 : 4

var x4 = foo<number>({ x: "", y: 4 }, "");
>x4 : number
>foo<number>({ x: "", y: 4 }, "") : number
>foo : <T>(n: { x: T; y: T; }, m: T) => T
>{ x: "", y: 4 } : { x: string; y: number; }
>x : string
>"" : ""
>y : number
>4 : 4
>"" : ""

var x5 = foo<string>({ x: "", y: 4 }, "");
>x5 : string
>foo<string>({ x: "", y: 4 }, "") : string
>foo : <T>(n: { x: T; y: T; }, m: T) => T
>{ x: "", y: 4 } : { x: string; y: number; }
>x : string
>"" : ""
>y : number
>4 : 4
>"" : ""