[red-knot] Add tests asserting that subclasses of Any are assignable to arbitrary protocol types
#17810
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.
Summary
I thought we might have to add some new branches to
Type::is_assignable_tohere, similar to what we did forCallabletypes in #17717. But it turns out that it just falls out naturally from the logic we already have in place. A subclass ofAnyjust returns a synthesized attribute of typeAnyfor any member access where the member is not explicitly annotated on the subclass. And protocol subtyping/assignability works entirely through member access APIs onType.Test Plan
this PR is only tests