error TS5107: Option 'target=ES5' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
blockScopedSameNameFunctionDeclarationES5.ts(3,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'.
blockScopedSameNameFunctionDeclarationES5.ts(5,13): error TS2554: Expected 0 arguments, but got 1.
blockScopedSameNameFunctionDeclarationES5.ts(8,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'.
blockScopedSameNameFunctionDeclarationES5.ts(10,13): error TS2554: Expected 0 arguments, but got 1.
blockScopedSameNameFunctionDeclarationES5.ts(13,5): error TS2554: Expected 1 arguments, but got 0.
blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arguments, but got 0.


!!! error TS5107: Option 'target=ES5' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
==== blockScopedSameNameFunctionDeclarationES5.ts (6 errors) ====
    function foo(a: number) {
        if (a === 1) {
            function foo() { } // duplicate function
                     ~~~
!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'.
            foo(); 
            foo(10); // not ok
                ~~
!!! error TS2554: Expected 0 arguments, but got 1.
        }
        else {
            function foo() { } // duplicate function
                     ~~~
!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'.
            foo(); 
            foo(10); // not ok
                ~~
!!! error TS2554: Expected 0 arguments, but got 1.
        }
        foo(10); // not ok
        foo(); 
        ~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided.
    }
    foo(10);
    foo(); // not ok - needs number
    ~~~
!!! error TS2554: Expected 1 arguments, but got 0.
!!! related TS6210 blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided.