@@ -62,3 +62,23 @@ for (x of a) {
6262>x : Symbol(x, Decl(assignmentTypeNarrowing.ts, 0, 3))
6363}
6464
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