mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Merge pull request #30045 from DougGregor/function-builders-if-let
[Constraint system] Support if let / if case in function builders.
This commit is contained in:
@@ -4122,6 +4122,7 @@ SolutionApplicationTarget::SolutionApplicationTarget(
|
||||
expression.pattern = nullptr;
|
||||
expression.wrappedVar = nullptr;
|
||||
expression.isDiscarded = isDiscarded;
|
||||
expression.bindPatternVarsOneWay = false;
|
||||
}
|
||||
|
||||
void SolutionApplicationTarget::maybeApplyPropertyWrapper() {
|
||||
@@ -4176,7 +4177,8 @@ void SolutionApplicationTarget::maybeApplyPropertyWrapper() {
|
||||
}
|
||||
|
||||
SolutionApplicationTarget SolutionApplicationTarget::forInitialization(
|
||||
Expr *initializer, DeclContext *dc, Type patternType, Pattern *pattern) {
|
||||
Expr *initializer, DeclContext *dc, Type patternType, Pattern *pattern,
|
||||
bool bindPatternVarsOneWay) {
|
||||
// Determine the contextual type for the initialization.
|
||||
TypeLoc contextualType;
|
||||
if (!isa<OptionalSomePattern>(pattern) &&
|
||||
@@ -4198,6 +4200,7 @@ SolutionApplicationTarget SolutionApplicationTarget::forInitialization(
|
||||
initializer, dc, CTP_Initialization, contextualType,
|
||||
/*isDiscarded=*/false);
|
||||
target.expression.pattern = pattern;
|
||||
target.expression.bindPatternVarsOneWay = bindPatternVarsOneWay;
|
||||
target.maybeApplyPropertyWrapper();
|
||||
return target;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user