[Sema] Try limit kicking interface type in filterForEnumElement
#80672
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.
Kicking the interface type request of the base decl here is wrong if the decl is e.g a
self
capture in a closure, since we'll be in the middle of type-checking the closure. I'm planning on properly fixing this by folding the lookup into the constraint system, but for now let's at least avoid kicking the request if we don't have an enum case or enum var. That at least prevents it from affecting cases where e.g you're pattern matching against a property in a class.We could potentially tighten up the checking here even further, but that could potentially impact source compatibility for ambiguous cases. I'd like to keep this patch low risk, and then deal with any fallout as part of the pattern type-checking work.
rdar://146952007