@@ -339,6 +339,7 @@ getTypeOfExpressionWithoutApplying(Expr *&expr, DeclContext *dc,
339
339
340
340
ConstraintSystemOptions options;
341
341
options |= ConstraintSystemFlags::SuppressDiagnostics;
342
+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
342
343
343
344
// Construct a constraint system from this expression.
344
345
ConstraintSystem cs (dc, options);
@@ -433,6 +434,7 @@ getTypeOfCompletionOperatorImpl(DeclContext *DC, Expr *expr,
433
434
ConstraintSystemOptions options;
434
435
options |= ConstraintSystemFlags::SuppressDiagnostics;
435
436
options |= ConstraintSystemFlags::ReusePrecheckedType;
437
+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
436
438
437
439
// Construct a constraint system from this expression.
438
440
ConstraintSystem CS (DC, options);
@@ -840,6 +842,8 @@ bool TypeChecker::typeCheckForCodeCompletion(
840
842
options |= ConstraintSystemFlags::AllowFixes;
841
843
options |= ConstraintSystemFlags::SuppressDiagnostics;
842
844
options |= ConstraintSystemFlags::ForCodeCompletion;
845
+ options |= ConstraintSystemFlags::LeaveClosureBodyUnchecked;
846
+
843
847
844
848
ConstraintSystem cs (DC, options);
845
849
@@ -1010,7 +1014,9 @@ bool swift::typeCheckExpression(DeclContext *DC, Expr *&parsedExpr) {
1010
1014
parsedExpr = parsedExpr->walk (SanitizeExpr (ctx, /* shouldReusePrecheckedType=*/ false ));
1011
1015
1012
1016
DiagnosticSuppression suppression (ctx.Diags );
1013
- auto resultTy = TypeChecker::typeCheckExpression (parsedExpr, DC);
1017
+ auto resultTy = TypeChecker::typeCheckExpression (
1018
+ parsedExpr, DC,
1019
+ /* contextualInfo=*/ {}, TypeCheckExprFlags::LeaveClosureBodyUnchecked);
1014
1020
return !resultTy;
1015
1021
}
1016
1022
0 commit comments