tests/cases/compiler/blockScopedFunctionDeclarationStrictES5.ts(3,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. tests/cases/compiler/blockScopedFunctionDeclarationStrictES5.ts(6,1): error TS2304: Cannot find name 'foo'. ==== tests/cases/compiler/blockScopedFunctionDeclarationStrictES5.ts (2 errors) ==== "use strict"; if (true) { function foo() { } // Error to declare function in block scope ~~~ !!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. foo(); // This call should be ok } foo(); // Error to find name foo ~~~ !!! error TS2304: Cannot find name 'foo'.