tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(5,10): error TS2354: No best common type exists among return expressions.
tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(13,10): error TS2354: No best common type exists among return expressions.
tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(23,10): error TS2354: No best common type exists among return expressions.
tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(32,10): error TS2354: No best common type exists among return expressions.
tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(44,10): error TS2354: No best common type exists among return expressions.
tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts(49,10): error TS2354: No best common type exists among return expressions.


==== tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts (6 errors) ====
    
    // return type of a function with multiple returns is the BCT of each return statement
    // it is an error if there is no single BCT, these are error cases
    
    function f1() {
             ~~
!!! error TS2354: No best common type exists among return expressions.
        if (true) {
            return 1;
        } else {
            return '';
        }
    }
    
    function f2() {
             ~~
!!! error TS2354: No best common type exists among return expressions.
        if (true) {
            return 1;
        } else if (false) {
            return 2;
        } else {
            return '';
        }
    }
    
    function f3() {
             ~~
!!! error TS2354: No best common type exists among return expressions.
        try {
            return 1;
        }
        catch (e) {
            return '';
        }
    }
    
    function f4() {
             ~~
!!! error TS2354: No best common type exists among return expressions.
        try {
            return 1;
        }
        catch (e) {
    
        }
        finally {
            return '';
        }
    }
    
    function f5() {
             ~~
!!! error TS2354: No best common type exists among return expressions.
        return 1;
        return '';
    }
    
    function f6<T, U>(x: T, y:U) {
             ~~
!!! error TS2354: No best common type exists among return expressions.
        if (true) {
            return x;
        } else {
            return y;
        }
    }
    
    function f8<T extends U, U extends V, V>(x: T, y: U) {
        if (true) {
            return x;
        } else {
            return y;
        }
    }
    