@@ -62,3 +62,23 @@ for (x of a) {
62
62
>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
63
63
}
64
64
65
+ // Repro from #26405
66
+
67
+ type AOrArrA<T> = T | T[];
68
+ >AOrArrA : Symbol(AOrArrA, Decl(assignmentTypeNarrowing.ts, 27, 1))
69
+ >T : Symbol(T, Decl(assignmentTypeNarrowing.ts, 31, 13))
70
+ >T : Symbol(T, Decl(assignmentTypeNarrowing.ts, 31, 13))
71
+ >T : Symbol(T, Decl(assignmentTypeNarrowing.ts, 31, 13))
72
+
73
+ const arr: AOrArrA<{x?: "ok"}> = [{ x: "ok" }]; // weak type
74
+ >arr : Symbol(arr, Decl(assignmentTypeNarrowing.ts, 32, 5))
75
+ >AOrArrA : Symbol(AOrArrA, Decl(assignmentTypeNarrowing.ts, 27, 1))
76
+ >x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 32, 20))
77
+ >x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 32, 35))
78
+
79
+ arr.push({ x: "ok" });
80
+ >arr.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --))
81
+ >arr : Symbol(arr, Decl(assignmentTypeNarrowing.ts, 32, 5))
82
+ >push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --))
83
+ >x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 33, 10))
84
+
0 commit comments