Sema: Fix openType() handling of parameter packs [5.10] #70797
Merged
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.
5.10 cherry-pick of #70457.
Description: Fixes some incorrect logic in the code path where we "open" a generic type to obtain a type with type variables. Manifests with various common usages of parameter packs as an assertion failure in an assert build, or various IRGen crashes otherwise.
Some diagnostics change in a way that is still correct, but makes them less clear. We believe these regressions are acceptable for 5.10. On main, a follow-up PR will fix most of the regressions with a change that's too risky to take for 5.10.
Origination: Fixes a bug in a new feature, parameter packs.
Scope of the issue: Seems to impact many users with numerous dupes.
Radar:
Tested: Various new test cases reduced from user reports.
Risk: Low; worst case a regression here should only impact type checking of parameter packs.
Reviewed by: @xedin