diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4f7e8d1a6f7..1f69b357ed0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -37415,13 +37415,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { singleReturn = func.body; // arrow function } else { - if (functionHasImplicitReturn(func)) return undefined; - const bailedEarly = forEachReturnStatement(func.body as Block, returnStatement => { if (singleReturn || !returnStatement.expression) return true; singleReturn = returnStatement.expression; }); - if (bailedEarly || !singleReturn) return undefined; + if (bailedEarly || !singleReturn || functionHasImplicitReturn(func)) return undefined; } return checkIfExpressionRefinesAnyParameter(singleReturn);