@@ -309,6 +309,7 @@ getTypeOfExpressionWithoutApplying(Expr *&expr, DeclContext *dc,
309
309
310
310
ConstraintSystemOptions options;
311
311
options |= ConstraintSystemFlags::SuppressDiagnostics;
312
+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
312
313
313
314
// Construct a constraint system from this expression.
314
315
ConstraintSystem cs (dc, options);
@@ -403,6 +404,7 @@ getTypeOfCompletionOperatorImpl(DeclContext *DC, Expr *expr,
403
404
ConstraintSystemOptions options;
404
405
options |= ConstraintSystemFlags::SuppressDiagnostics;
405
406
options |= ConstraintSystemFlags::ReusePrecheckedType;
407
+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
406
408
407
409
// Construct a constraint system from this expression.
408
410
ConstraintSystem CS (DC, options);
@@ -810,6 +812,8 @@ bool TypeChecker::typeCheckForCodeCompletion(
810
812
options |= ConstraintSystemFlags::AllowFixes;
811
813
options |= ConstraintSystemFlags::SuppressDiagnostics;
812
814
options |= ConstraintSystemFlags::ForCodeCompletion;
815
+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
816
+
813
817
814
818
ConstraintSystem cs (DC, options);
815
819
@@ -980,7 +984,9 @@ bool swift::typeCheckExpression(DeclContext *DC, Expr *&parsedExpr) {
980
984
parsedExpr = parsedExpr->walk (SanitizeExpr (ctx, /* shouldReusePrecheckedType=*/ false ));
981
985
982
986
DiagnosticSuppression suppression (ctx.Diags );
983
- auto resultTy = TypeChecker::typeCheckExpression (parsedExpr, DC);
987
+ auto resultTy = TypeChecker::typeCheckExpression (
988
+ parsedExpr, DC,
989
+ /* contextualInfo=*/ {}, TypeCheckExprFlags::LeaveClosureBodyUnchecked);
984
990
return !resultTy;
985
991
}
986
992
0 commit comments