@@ -175,7 +175,7 @@ let c2 = !true ? opts : {};
175175>{} : {}
176176
177177let c3 = !true ? { a: 0, b: 0 } : {};
178- >c3 : { a: number; b: number; } | { b ?: undefined; a ?: undefined; }
178+ >c3 : { a: number; b: number; } | { a ?: undefined; b ?: undefined; }
179179>!true ? { a: 0, b: 0 } : {} : { a: number; b: number; } | {}
180180>!true : false
181181>true : true
@@ -187,7 +187,7 @@ let c3 = !true ? { a: 0, b: 0 } : {};
187187>{} : {}
188188
189189let c4 = !true ? {} : { a: 0, b: 0 };
190- >c4 : { b ?: undefined; a ?: undefined; } | { a: number; b: number; }
190+ >c4 : { a ?: undefined; b ?: undefined; } | { a: number; b: number; }
191191>!true ? {} : { a: 0, b: 0 } : {} | { a: number; b: number; }
192192>!true : false
193193>true : true
@@ -200,7 +200,7 @@ let c4 = !true ? {} : { a: 0, b: 0 };
200200
201201// Normalization applies to nested properties
202202let d1 = [{ kind: 'a', pos: { x: 0, y: 0 } }, { kind: 'b', pos: !true ? { a: "x" } : { b: 0 } }][0];
203- >d1 : { kind: string; pos: { b?: undefined; a?: undefined; x: number; y: number ; }; } | { kind: string; pos: { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }; }
203+ >d1 : { kind: string; pos: { x: number; y: number; a?: undefined; b?: undefined ; }; } | { kind: string; pos: { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }; }
204204>[{ kind: 'a', pos: { x: 0, y: 0 } }, { kind: 'b', pos: !true ? { a: "x" } : { b: 0 } }][0] : { kind: string; pos: { x: number; y: number; }; } | { kind: string; pos: { a: string; } | { b: number; }; }
205205>[{ kind: 'a', pos: { x: 0, y: 0 } }, { kind: 'b', pos: !true ? { a: "x" } : { b: 0 } }] : ({ kind: string; pos: { x: number; y: number; }; } | { kind: string; pos: { a: string; } | { b: number; }; })[]
206206>{ kind: 'a', pos: { x: 0, y: 0 } } : { kind: string; pos: { x: number; y: number; }; }
@@ -229,40 +229,40 @@ let d1 = [{ kind: 'a', pos: { x: 0, y: 0 } }, { kind: 'b', pos: !true ? { a: "x"
229229
230230d1.kind;
231231>d1.kind : string
232- >d1 : { kind: string; pos: { b?: undefined; a?: undefined; x: number; y: number ; }; } | { kind: string; pos: { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }; }
232+ >d1 : { kind: string; pos: { x: number; y: number; a?: undefined; b?: undefined ; }; } | { kind: string; pos: { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }; }
233233>kind : string
234234
235235d1.pos;
236- >d1.pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
237- >d1 : { kind: string; pos: { b?: undefined; a?: undefined; x: number; y: number ; }; } | { kind: string; pos: { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }; }
238- >pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
236+ >d1.pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
237+ >d1 : { kind: string; pos: { x: number; y: number; a?: undefined; b?: undefined ; }; } | { kind: string; pos: { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }; }
238+ >pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
239239
240240d1.pos.x;
241241>d1.pos.x : number | undefined
242- >d1.pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
243- >d1 : { kind: string; pos: { b?: undefined; a?: undefined; x: number; y: number ; }; } | { kind: string; pos: { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }; }
244- >pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
242+ >d1.pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
243+ >d1 : { kind: string; pos: { x: number; y: number; a?: undefined; b?: undefined ; }; } | { kind: string; pos: { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }; }
244+ >pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
245245>x : number | undefined
246246
247247d1.pos.y;
248248>d1.pos.y : number | undefined
249- >d1.pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
250- >d1 : { kind: string; pos: { b?: undefined; a?: undefined; x: number; y: number ; }; } | { kind: string; pos: { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }; }
251- >pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
249+ >d1.pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
250+ >d1 : { kind: string; pos: { x: number; y: number; a?: undefined; b?: undefined ; }; } | { kind: string; pos: { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }; }
251+ >pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
252252>y : number | undefined
253253
254254d1.pos.a;
255255>d1.pos.a : string | undefined
256- >d1.pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
257- >d1 : { kind: string; pos: { b?: undefined; a?: undefined; x: number; y: number ; }; } | { kind: string; pos: { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }; }
258- >pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
256+ >d1.pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
257+ >d1 : { kind: string; pos: { x: number; y: number; a?: undefined; b?: undefined ; }; } | { kind: string; pos: { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }; }
258+ >pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
259259>a : string | undefined
260260
261261d1.pos.b;
262262>d1.pos.b : number | undefined
263- >d1.pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
264- >d1 : { kind: string; pos: { b?: undefined; a?: undefined; x: number; y: number ; }; } | { kind: string; pos: { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }; }
265- >pos : { b?: undefined; a?: undefined; x: number; y: number ; } | { b?: undefined; x?: undefined; y?: undefined; a: string; } | { a ?: undefined; x ?: undefined; y ?: undefined; b: number; }
263+ >d1.pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
264+ >d1 : { kind: string; pos: { x: number; y: number; a?: undefined; b?: undefined ; }; } | { kind: string; pos: { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }; }
265+ >pos : { x: number; y: number; a?: undefined; b?: undefined ; } | { x?: undefined; y?: undefined; a: string; b?: undefined; } | { x ?: undefined; y ?: undefined; a ?: undefined; b: number; }
266266>b : number | undefined
267267
268268declare function f<T>(...items: T[]): T;
@@ -292,8 +292,8 @@ let e1 = f({ a: 1, b: 2 }, { a: "abc" }, {});
292292>{} : {}
293293
294294let e2 = f({}, { a: "abc" }, { a: 1, b: 2 });
295- >e2 : { b ?: undefined; a ?: undefined; } | { b?: undefined; a: string ; } | { a: number; b: number; }
296- >f({}, { a: "abc" }, { a: 1, b: 2 }) : { b ?: undefined; a ?: undefined; } | { b?: undefined; a: string ; } | { a: number; b: number; }
295+ >e2 : { a ?: undefined; b ?: undefined; } | { a: string; b?: undefined ; } | { a: number; b: number; }
296+ >f({}, { a: "abc" }, { a: 1, b: 2 }) : { a ?: undefined; b ?: undefined; } | { a: string; b?: undefined ; } | { a: number; b: number; }
297297>f : <T>(...items: T[]) => T
298298>{} : {}
299299>{ a: "abc" } : { a: string; }
0 commit comments