Closed
Description
I'm not sure if this is the same issue as #7204, but here's another --warn-unreahcable false positive with a much smaller test case:
from numbers import Number
def test(x: float) -> None:
if not isinstance(x, Number):
raise
print("Not unreachable!")
...gives with mypy 0.720:
t.py:6: error: Statement is unreachable
Assuming mypy relies on x
always being a float like the type hint says, the "not isinstance" is actually always False and I guess it would be legitimate for the error to be issued on line 5 (raise
). But surely the print
statement on line 6 is never unreachable, right?
Activity
JelleZijlstra commentedon Jul 14, 2019
This isn't so much an issue with
--warn-unreachable
as with mypy not understanding thenumbers
module. See #3186 for prior discussion.JukkaL commentedon Jul 16, 2019
Closing since fixing #3186 is the correct fix for this as well.