1
1
=== tests/cases/conformance/types/typeAliases/typeAliases.ts ===
2
2
// Writing a reference to a type alias has exactly the same effect as writing the aliased type itself.
3
3
4
+ type T1 = number;
5
+ >T1 : number
6
+
7
+ var x1: number;
8
+ >x1 : number
9
+
10
+ var x1: T1;
11
+ >x1 : number
12
+ >T1 : number
13
+
14
+ type T2 = string;
15
+ >T2 : string
16
+
17
+ var x2: string;
18
+ >x2 : string
19
+
20
+ var x2: T2;
21
+ >x2 : string
22
+ >T2 : string
23
+
24
+ type T3 = boolean;
25
+ >T3 : boolean
26
+
27
+ var x3: boolean;
28
+ >x3 : boolean
29
+
30
+ var x3: T3;
31
+ >x3 : boolean
32
+ >T3 : boolean
33
+
34
+ type T4 = void;
35
+ >T4 : void
36
+
37
+ var x4: void;
38
+ >x4 : void
39
+
40
+ var x4: T4;
41
+ >x4 : void
42
+ >T4 : void
43
+
44
+ type T5 = any;
45
+ >T5 : any
46
+
47
+ var x5: any;
48
+ >x5 : any
49
+
50
+ var x5: T5;
51
+ >x5 : any
52
+ >T5 : any
53
+
54
+ interface I6 { x : string }
55
+ >I6 : I6
56
+ >x : string
57
+
58
+ type T6 = I6;
59
+ >T6 : I6
60
+ >I6 : I6
61
+
62
+ var x6: I6;
63
+ >x6 : I6
64
+ >I6 : I6
65
+
66
+ var x6: T6;
67
+ >x6 : I6
68
+ >T6 : I6
69
+
70
+ class C7 { x: boolean }
71
+ >C7 : C7
72
+ >x : boolean
73
+
74
+ type T7 = C7;
75
+ >T7 : C7
76
+ >C7 : C7
77
+
78
+ var x7: C7;
79
+ >x7 : C7
80
+ >C7 : C7
81
+
82
+ var x7: T7;
83
+ >x7 : C7
84
+ >T7 : C7
85
+
86
+ type T8 = string | boolean;
87
+ >T8 : string | boolean
88
+
89
+ var x8: string | boolean;
90
+ >x8 : string | boolean
91
+
92
+ var x8: T8;
93
+ >x8 : string | boolean
94
+ >T8 : string | boolean
95
+
96
+ type T9 = () => string;
97
+ >T9 : () => string
98
+
99
+ var x9: () => string;
100
+ >x9 : () => string
101
+
102
+ var x9: T9;
103
+ >x9 : () => string
104
+ >T9 : () => string
105
+
106
+ type T10 = { x: number };
107
+ >T10 : { x: number; }
108
+ >x : number
109
+
110
+ var x10: { x: number };
111
+ >x10 : { x: number; }
112
+ >x : number
113
+
114
+ var x10: T10;
115
+ >x10 : { x: number; }
116
+ >T10 : { x: number; }
117
+
118
+ type T11 = { new(): boolean };
119
+ >T11 : new () => boolean
120
+
121
+ var x11: { new(): boolean };
122
+ >x11 : new () => boolean
123
+
124
+ var x11: T11;
125
+ >x11 : new () => boolean
126
+ >T11 : new () => boolean
127
+
128
+ interface I13 { x: string };
129
+ >I13 : I13
130
+ >x : string
131
+
132
+ type T13 = I13;
133
+ >T13 : I13
134
+ >I13 : I13
135
+
136
+ var x13_1: I13;
137
+ >x13_1 : I13
138
+ >I13 : I13
139
+
140
+ var x13_2: T13
141
+ >x13_2 : I13
142
+ >T13 : I13
143
+
144
+ declare function foo13<T1 extends I13, T2 extends T13>(t1: T1, t2: T13): void;
145
+ >foo13 : <T1 extends I13, T2 extends I13>(t1: T1, t2: I13) => void
146
+ >T1 : T1
147
+ >I13 : I13
148
+ >T2 : T2
149
+ >T13 : I13
150
+ >t1 : T1
151
+ >T1 : T1
152
+ >t2 : I13
153
+ >T13 : I13
154
+
155
+ foo13(x13_1, x13_2);
156
+ >foo13(x13_1, x13_2) : void
157
+ >foo13 : <T1 extends I13, T2 extends I13>(t1: T1, t2: I13) => void
158
+ >x13_1 : I13
159
+ >x13_2 : I13
160
+
161
+ foo13(x13_2, x13_1);
162
+ >foo13(x13_2, x13_1) : void
163
+ >foo13 : <T1 extends I13, T2 extends I13>(t1: T1, t2: I13) => void
164
+ >x13_2 : I13
165
+ >x13_1 : I13
166
+
167
+ type T14 = string;
168
+ >T14 : string
169
+
170
+ var x14: T14;
171
+ >x14 : string
172
+ >T14 : string
173
+
174
+ declare function foo14_1(x: T14): void;
175
+ >foo14_1 : (x: string) => void
176
+ >x : string
177
+ >T14 : string
178
+
179
+ declare function foo14_2(x: "click"): void;
180
+ >foo14_2 : { (x: "click"): void; (x: string): void; }
181
+ >x : "click"
182
+
183
+ declare function foo14_2(x: T14): void;
184
+ >foo14_2 : { (x: "click"): void; (x: string): void; }
185
+ >x : string
186
+ >T14 : string
187
+
4
188
type Meters = number
5
189
>Meters : number
6
190
7
191
enum E { x = 10 }
8
192
>E : E
9
193
>x : E
10
194
11
- declare function f (a: string): boolean;
12
- >f : { (a: string): boolean; (a: number): string; }
195
+ declare function f15 (a: string): boolean;
196
+ >f15 : { (a: string): boolean; (a: number): string; }
13
197
>a : string
14
198
15
- declare function f (a: Meters): string;
16
- >f : { (a: string): boolean; (a: number): string; }
199
+ declare function f15 (a: Meters): string;
200
+ >f15 : { (a: string): boolean; (a: number): string; }
17
201
>a : number
18
202
>Meters : number
19
203
20
- f (E.x).toLowerCase();
21
- >f (E.x).toLowerCase() : string
22
- >f (E.x).toLowerCase : () => string
23
- >f (E.x) : string
24
- >f : { (a: string): boolean; (a: number): string; }
204
+ f15 (E.x).toLowerCase();
205
+ >f15 (E.x).toLowerCase() : string
206
+ >f15 (E.x).toLowerCase : () => string
207
+ >f15 (E.x) : string
208
+ >f15 : { (a: string): boolean; (a: number): string; }
25
209
>E.x : E
26
210
>E : typeof E
27
211
>x : E
@@ -30,17 +214,17 @@ f(E.x).toLowerCase();
30
214
type StringAndBoolean = [string, boolean]
31
215
>StringAndBoolean : [string, boolean]
32
216
33
- declare function f1 (s: StringAndBoolean): string;
34
- >f1 : (s: [string, boolean]) => string
217
+ declare function f16 (s: StringAndBoolean): string;
218
+ >f16 : (s: [string, boolean]) => string
35
219
>s : [string, boolean]
36
220
>StringAndBoolean : [string, boolean]
37
221
38
222
var x: [string, boolean];
39
223
>x : [string, boolean]
40
224
41
- f1 (x);
42
- >f1 (x) : string
43
- >f1 : (s: [string, boolean]) => string
225
+ f16 (x);
226
+ >f16 (x) : string
227
+ >f16 : (s: [string, boolean]) => string
44
228
>x : [string, boolean]
45
229
46
230
var y: StringAndBoolean = ["1", false];
0 commit comments