Remove some "if type is None" style checks #7120
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.
This pull request is a continuation of my quest to make mypy cleanly type-check under the
--warn-unreachable
flag.It removes some unnecessary checks we're performing against Type-related variables. Specifically:
We had some old code that checked if
t.accept(TypeJoinVisitor(s))
would return None. I believe this check was added back in 2014: after auditing our type visitors, it no longer seems relevant today.We had a few unnecessary
if some_instance.type is not None
style checks. I believe we always set the TypeInfo when constructing Instance classes these days, so this check also seems unnecessary.Finally, we had a "if TypeInfo.bases does not actually contain Instances" style check around some protocol-related code -- but
TypeInfo.bases
is of typeList[Instance]
.