@@ -16,9 +16,9 @@ function f1() {
1616>n : Symbol(n, Decl(controlFlowIIFE.ts, 5, 11))
1717
1818 return x.length;
19- >x.length : Symbol(String.length, Decl(lib.d.ts, --, --))
19+ >x.length : Symbol(String.length, Decl(lib.es5. d.ts, --, --))
2020>x : Symbol(x, Decl(controlFlowIIFE.ts, 3, 7))
21- >length : Symbol(String.length, Decl(lib.d.ts, --, --))
21+ >length : Symbol(String.length, Decl(lib.es5. d.ts, --, --))
2222
2323 }();
2424 }
@@ -38,9 +38,9 @@ function f2() {
3838>n : Symbol(n, Decl(controlFlowIIFE.ts, 14, 11))
3939
4040 return x.length;
41- >x.length : Symbol(String.length, Decl(lib.d.ts, --, --))
41+ >x.length : Symbol(String.length, Decl(lib.es5. d.ts, --, --))
4242>x : Symbol(x, Decl(controlFlowIIFE.ts, 12, 7))
43- >length : Symbol(String.length, Decl(lib.d.ts, --, --))
43+ >length : Symbol(String.length, Decl(lib.es5. d.ts, --, --))
4444
4545 })();
4646 }
@@ -62,9 +62,9 @@ function f3() {
6262 let n = (z => x.length + y + z)(y = 1);
6363>n : Symbol(n, Decl(controlFlowIIFE.ts, 24, 11))
6464>z : Symbol(z, Decl(controlFlowIIFE.ts, 24, 17))
65- >x.length : Symbol(String.length, Decl(lib.d.ts, --, --))
65+ >x.length : Symbol(String.length, Decl(lib.es5. d.ts, --, --))
6666>x : Symbol(x, Decl(controlFlowIIFE.ts, 21, 7))
67- >length : Symbol(String.length, Decl(lib.d.ts, --, --))
67+ >length : Symbol(String.length, Decl(lib.es5. d.ts, --, --))
6868>y : Symbol(y, Decl(controlFlowIIFE.ts, 22, 7))
6969>z : Symbol(z, Decl(controlFlowIIFE.ts, 24, 17))
7070>y : Symbol(y, Decl(controlFlowIIFE.ts, 22, 7))
@@ -99,12 +99,60 @@ if (!test) {
9999>test : Symbol(test, Decl(controlFlowIIFE.ts, 39, 3))
100100
101101 throw new Error('Test is not defined');
102- >Error : Symbol(Error, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
102+ >Error : Symbol(Error, Decl(lib.es5. d.ts, --, --), Decl(lib.es5 .d.ts, --, --))
103103}
104104(() => {
105105 test.slice(1); // No error
106- >test.slice : Symbol(String.slice, Decl(lib.d.ts, --, --))
106+ >test.slice : Symbol(String.slice, Decl(lib.es5. d.ts, --, --))
107107>test : Symbol(test, Decl(controlFlowIIFE.ts, 39, 3))
108- >slice : Symbol(String.slice, Decl(lib.d.ts, --, --))
108+ >slice : Symbol(String.slice, Decl(lib.es5. d.ts, --, --))
109109
110110})();
111+
112+ // Repro from #23565
113+
114+ function f4() {
115+ >f4 : Symbol(f4, Decl(controlFlowIIFE.ts, 45, 5))
116+
117+ let v: number;
118+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 50, 7))
119+
120+ (function() {
121+ v = 1;
122+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 50, 7))
123+
124+ })();
125+ v;
126+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 50, 7))
127+ }
128+
129+ function f5() {
130+ >f5 : Symbol(f5, Decl(controlFlowIIFE.ts, 55, 1))
131+
132+ let v: number;
133+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 58, 7))
134+
135+ (function*() {
136+ yield 1;
137+ v = 1;
138+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 58, 7))
139+
140+ })();
141+ v; // still undefined
142+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 58, 7))
143+ }
144+
145+ function f6() {
146+ >f6 : Symbol(f6, Decl(controlFlowIIFE.ts, 64, 1))
147+
148+ let v: number;
149+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 67, 7))
150+
151+ (async function() {
152+ v = await 1;
153+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 67, 7))
154+
155+ })();
156+ v; // still undefined
157+ >v : Symbol(v, Decl(controlFlowIIFE.ts, 67, 7))
158+ }
0 commit comments