tests/cases/compiler/reachabilityChecks7.ts(13,16): error TS7030: Not all code paths return a value.
tests/cases/compiler/reachabilityChecks7.ts(17,22): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.


==== tests/cases/compiler/reachabilityChecks7.ts (2 errors) ====
    // async function without return type annotation - error
    async function f1() {    
    }
    
    let x = async function() {
    }
    
    // async function with which promised type is void - return can be omitted
    async function f2(): Promise<void> {
        
    }
    
    async function f3(x) {
                   ~~
!!! error TS7030: Not all code paths return a value.
        if (x) return 10;
    }
    
    async function f4(): Promise<number> {
                         ~~~~~~~~~~~~~~~
!!! error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.
        
    }
    
    function voidFunc(): void {
    }
    
    function calltoVoidFunc(x) {
        if (x) return voidFunc();
    }
    
    declare function use(s: string): void;
    let x1 = () => { use("Test"); }