From 703253ae6b95b9731649ca7cc2529099e5115007 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 1 Mar 2024 17:37:23 -0800 Subject: [PATCH] Delay expensive functionHasImplicitReturn call --- src/compiler/checker.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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);