@@ -902,10 +902,10 @@ TypeVarRefCollector::walkToExprPre(Expr *expr) {
902
902
}
903
903
904
904
if (auto *packElement = getAsExpr<PackElementExpr>(expr)) {
905
- // If environment hasn't been established yet, it means that pack expansion
905
+ // If expansion hasn't been established yet, it means that pack expansion
906
906
// appears inside of this closure.
907
- if (auto *outerEnvironment = CS.getPackEnvironment (packElement))
908
- inferTypeVars (outerEnvironment );
907
+ if (auto *outerExpansion = CS.getPackElementExpansion (packElement))
908
+ inferTypeVars (outerExpansion );
909
909
}
910
910
911
911
return Action::Continue (expr);
@@ -1214,9 +1214,8 @@ namespace {
1214
1214
SmallVector<ASTNode, 2 > expandedPacks;
1215
1215
collectExpandedPacks (expr, expandedPacks);
1216
1216
for (auto pack : expandedPacks) {
1217
- if (auto *elementExpr = getAsExpr<PackElementExpr>(pack)) {
1218
- CS.addPackEnvironment (elementExpr, expr);
1219
- }
1217
+ if (auto *elementExpr = getAsExpr<PackElementExpr>(pack))
1218
+ CS.recordPackElementExpansion (elementExpr, expr);
1220
1219
}
1221
1220
1222
1221
auto *patternLoc = CS.getConstraintLocator (
@@ -3239,15 +3238,15 @@ namespace {
3239
3238
3240
3239
Type visitPackElementExpr (PackElementExpr *expr) {
3241
3240
auto packType = CS.getType (expr->getPackRefExpr ());
3242
- auto *packEnvironment = CS.getPackEnvironment (expr);
3241
+ auto *packExpansion = CS.getPackElementExpansion (expr);
3243
3242
auto elementType = openPackElement (
3244
- packType, CS.getConstraintLocator (expr), packEnvironment );
3245
- if (packEnvironment ) {
3243
+ packType, CS.getConstraintLocator (expr), packExpansion );
3244
+ if (packExpansion ) {
3246
3245
auto expansionType =
3247
- CS.getType (packEnvironment )->castTo <PackExpansionType>();
3246
+ CS.getType (packExpansion )->castTo <PackExpansionType>();
3248
3247
CS.addConstraint (ConstraintKind::ShapeOf, expansionType->getCountType (),
3249
3248
packType,
3250
- CS.getConstraintLocator (packEnvironment ,
3249
+ CS.getConstraintLocator (packExpansion ,
3251
3250
ConstraintLocator::PackShape));
3252
3251
} else {
3253
3252
CS.recordFix (AllowInvalidPackReference::create (
0 commit comments