@@ -902,10 +902,10 @@ TypeVarRefCollector::walkToExprPre(Expr *expr) {
902902 }
903903
904904 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
906906 // 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 );
909909 }
910910
911911 return Action::Continue (expr);
@@ -1214,9 +1214,8 @@ namespace {
12141214 SmallVector<ASTNode, 2 > expandedPacks;
12151215 collectExpandedPacks (expr, expandedPacks);
12161216 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);
12201219 }
12211220
12221221 auto *patternLoc = CS.getConstraintLocator (
@@ -3239,15 +3238,15 @@ namespace {
32393238
32403239 Type visitPackElementExpr (PackElementExpr *expr) {
32413240 auto packType = CS.getType (expr->getPackRefExpr ());
3242- auto *packEnvironment = CS.getPackEnvironment (expr);
3241+ auto *packExpansion = CS.getPackElementExpansion (expr);
32433242 auto elementType = openPackElement (
3244- packType, CS.getConstraintLocator (expr), packEnvironment );
3245- if (packEnvironment ) {
3243+ packType, CS.getConstraintLocator (expr), packExpansion );
3244+ if (packExpansion ) {
32463245 auto expansionType =
3247- CS.getType (packEnvironment )->castTo <PackExpansionType>();
3246+ CS.getType (packExpansion )->castTo <PackExpansionType>();
32483247 CS.addConstraint (ConstraintKind::ShapeOf, expansionType->getCountType (),
32493248 packType,
3250- CS.getConstraintLocator (packEnvironment ,
3249+ CS.getConstraintLocator (packExpansion ,
32513250 ConstraintLocator::PackShape));
32523251 } else {
32533252 CS.recordFix (AllowInvalidPackReference::create (
0 commit comments