[5.9][ConstraintSystem] Adjust the way pack parameters are opened #66927
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cherry-pick of #66910
Explanation:
Although variadic type is declared without
repeat
each of itsgeneric arguments is supposed to be a PackType which is modeled
in the interface type as
Pack{repeat ...}
. When reference to sucha type is opened by the constraint solver we need to drop the Pack{repeat ...}
structure because the type variable would represent a pack type so
S<each T>
is opened as
S<$T0>
instead ofS<Pack{repeat $T0}>
.Scope: Expressions with references to variadic generic types.
Main Branch PR: [CSSimplify] Add special handling if specialized type comes from
TypeExpr
#66796Risk: Low
Resolves: [ConstraintSystem] Adjust the way pack parameters are opened #66910
Reviewed By: @hborla
Testing: Added regression test-cases to the suite.
Resolves: #66095
(cherry picked from commit 2227930)