@@ -309,6 +309,7 @@ getTypeOfExpressionWithoutApplying(Expr *&expr, DeclContext *dc,
309309
310310 ConstraintSystemOptions options;
311311 options |= ConstraintSystemFlags::SuppressDiagnostics;
312+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
312313
313314 // Construct a constraint system from this expression.
314315 ConstraintSystem cs (dc, options);
@@ -403,6 +404,7 @@ getTypeOfCompletionOperatorImpl(DeclContext *DC, Expr *expr,
403404 ConstraintSystemOptions options;
404405 options |= ConstraintSystemFlags::SuppressDiagnostics;
405406 options |= ConstraintSystemFlags::ReusePrecheckedType;
407+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
406408
407409 // Construct a constraint system from this expression.
408410 ConstraintSystem CS (DC, options);
@@ -810,6 +812,8 @@ bool TypeChecker::typeCheckForCodeCompletion(
810812 options |= ConstraintSystemFlags::AllowFixes;
811813 options |= ConstraintSystemFlags::SuppressDiagnostics;
812814 options |= ConstraintSystemFlags::ForCodeCompletion;
815+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
816+
813817
814818 ConstraintSystem cs (DC, options);
815819
@@ -980,7 +984,9 @@ bool swift::typeCheckExpression(DeclContext *DC, Expr *&parsedExpr) {
980984 parsedExpr = parsedExpr->walk (SanitizeExpr (ctx, /* shouldReusePrecheckedType=*/ false ));
981985
982986 DiagnosticSuppression suppression (ctx.Diags );
983- auto resultTy = TypeChecker::typeCheckExpression (parsedExpr, DC);
987+ auto resultTy = TypeChecker::typeCheckExpression (
988+ parsedExpr, DC,
989+ /* contextualInfo=*/ {}, TypeCheckExprFlags::LeaveClosureBodyUnchecked);
984990 return !resultTy;
985991}
986992
0 commit comments