Skip to content

Commit 97aaa8a

Browse files
committed
[Constraint solver] Make sure to reflect pattern updates after application.
1 parent a1932f1 commit 97aaa8a

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

lib/Sema/TypeCheckConstraints.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2153,8 +2153,8 @@ TypeChecker::typeCheckExpression(
21532153
performSyntacticExprDiagnostics(result, dc, isExprStmt);
21542154
}
21552155

2156-
target.setExpr(result);
2157-
return target;
2156+
resultTarget->setExpr(result);
2157+
return *resultTarget;
21582158
}
21592159

21602160
Type TypeChecker::typeCheckParameterDefault(Expr *&defaultValue,
@@ -2422,6 +2422,7 @@ bool TypeChecker::typeCheckBinding(Pattern *&pattern, Expr *&initializer,
24222422

24232423
if (resultTarget) {
24242424
initializer = resultTarget->getAsExpr();
2425+
pattern = resultTarget->getInitializationPattern();
24252426
return false;
24262427
}
24272428

test/stmt/statements.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,6 @@ func testThrowNil() throws {
555555
// condition may have contained a SequenceExpr.
556556
func r23684220(_ b: Any) {
557557
if let _ = b ?? b {} // expected-error {{initializer for conditional binding must have Optional type, not 'Any'}}
558-
// expected-warning@-1 {{left side of nil coalescing operator '??' has non-optional type 'Any', so the right side is never used}}
559558
}
560559

561560

0 commit comments

Comments
 (0)