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;}}