tests/cases/compiler/recursiveLetConst.ts(2,9): error TS2448: Block-scoped variable 'x' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(3,12): error TS2448: Block-scoped variable 'x1' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(4,11): error TS2448: Block-scoped variable 'y' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(5,14): error TS2448: Block-scoped variable 'y1' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(6,14): error TS2448: Block-scoped variable 'v' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(7,16): error TS2448: Block-scoped variable 'v' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(8,15): error TS2448: Block-scoped variable 'v' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(9,15): error TS2448: Block-scoped variable 'v' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(10,17): error TS2448: Block-scoped variable 'v' used before its declaration. tests/cases/compiler/recursiveLetConst.ts(11,11): error TS2448: Block-scoped variable 'x2' used before its declaration. ==== tests/cases/compiler/recursiveLetConst.ts (10 errors) ==== 'use strict' let x = x + 1; ~ !!! error TS2448: Block-scoped variable 'x' used before its declaration. let [x1] = x1 + 1; ~~ !!! error TS2448: Block-scoped variable 'x1' used before its declaration. const y = y + 2; ~ !!! error TS2448: Block-scoped variable 'y' used before its declaration. const [y1] = y1 + 1; ~~ !!! error TS2448: Block-scoped variable 'y1' used before its declaration. for (let v = v; ; ) { } ~ !!! error TS2448: Block-scoped variable 'v' used before its declaration. for (let [v] = v; ;) { } ~ !!! error TS2448: Block-scoped variable 'v' used before its declaration. for (let v in v) { } ~ !!! error TS2448: Block-scoped variable 'v' used before its declaration. for (let v of v) { } ~ !!! error TS2448: Block-scoped variable 'v' used before its declaration. for (let [v] of v) { } ~ !!! error TS2448: Block-scoped variable 'v' used before its declaration. let [x2 = x2] = [] ~~ !!! error TS2448: Block-scoped variable 'x2' used before its declaration. let z0 = () => z0; let z1 = function () { return z1; } let z2 = { f() { return z2;}}