Ignore capture sets in certain cases of subtyping #22183
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.
Fixes #22103
If
C
is a capture-set variable, then a comparisonC <: CapSet^{C^}
would previously fail in theTypeComparer
due to a level mismatch resulting in the testCapSet^ <: CapSet
.For such cases, we now ignore the LHS capture annotation. This is controlled by a new bit in the
ApproxState
of theTypeComparer
.