[ConstraintSystem] Strip pack expansions off of pack reference types in

getUnopenedTypeOfReference.
This commit is contained in:
Holly Borla
2022-12-20 21:40:33 -05:00
parent a2346db445
commit 2df72f6bcc
5 changed files with 12 additions and 10 deletions

View File

@@ -1282,6 +1282,10 @@ Type ConstraintSystem::getUnopenedTypeOfReference(
Type requestedType =
getType(value)->getWithoutSpecifierType()->getReferenceStorageReferent();
// Strip pack expansion types off of pack references.
if (auto *expansion = requestedType->getAs<PackExpansionType>())
requestedType = expansion->getPatternType();
// Adjust the type for concurrency if requested.
if (adjustForPreconcurrency)
requestedType = adjustVarTypeForConcurrency(