// @target:es5 'use strict' declare function use(a: any); var x = 10; var z0, z1, z2, z3; { let x = 20; use(x); let [z0] = [1]; use(z0); let [z1] = [1] use(z1); let {a: z2} = { a: 1 }; use(z2); let {a: z3} = { a: 1 }; use(z3); } use(x); use(z0); use(z1); use(z2); use(z3); var z6; var y = true; { let y = ""; let [z6] = [true] { let y = 1; let {a: z6} = {a: 1} use(y); use(z6); } use(y); use(z6); } use(y); use(z6); var z = false; var z5 = 1; { let z = ""; let [z5] = [5]; { let _z = 1; let {a: _z5} = { a: 1 }; // try to step on generated name use(_z); } use(z); } use(y);