Skip to content

Another --warn-unreachable false positive #7207

Closed
@scop

Description

@scop
Contributor

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

JelleZijlstra commented on Jul 14, 2019

@JelleZijlstra
Member

This isn't so much an issue with --warn-unreachable as with mypy not understanding the numbers module. See #3186 for prior discussion.

JukkaL

JukkaL commented on Jul 16, 2019

@JukkaL
Collaborator

Closing since fixing #3186 is the correct fix for this as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @scop@JelleZijlstra@JukkaL

        Issue actions

          Another --warn-unreachable false positive · Issue #7207 · python/mypy