Open JukkaL opened 2 weeks ago
Could I be assigned this?
Feel free to send a PR if you're interested in working on this!
Even in non-test code, a redundant assert can get optimized out anyway. And in non-optimized mode, it's almost certainly a quick sanity check. So I'm in favor of such a change for less false-positives.
Wonder if there's anything we can do about the reachability implications, since mypy will currently just not check any subsequent code in the example given. And if you do happen to have --warn-unreachable
on, you'll get a similar error (granted it doesn't get used that much since it's not currently part of --strict
)
Feature
In assert statements, allow comparisons that don't appear to overlap. These are common in test cases, and tend to generate false positives.
One way to implement this would be to filter out errors with the
comparison-overlap
error code in assert statements.A potentially better way would be to not narrow down types in comparisons in assert statements, but this could be too complicated and ad hoc.
Example where we have a false positive:
Pitch
These errors are often false positives, and they are somewhat frequent in test cases. The fix seems simple.
Hints
Here is an example of filtering errors adapted from
mypy/plugins/default.py
: