Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix partially defined in the case of missing type maps #15995

Merged
merged 1 commit into from
Oct 10, 2023

Commits on Aug 30, 2023

  1. Fix partially defined in the case of missing type maps

    Thanks @AlexWaygood for sending me on this adventure. This took me a
    while to debug!
    
    It turns out when we don't need to warn about unreachable code, we don't
    end up calling `self.is_noop_for_reachability(s)` (which is meant to
    tell us whether the code should be warned about or is
    `raise AssertionError` or `typing.assert_never(never)` or something.
    https://github.com/python/mypy/blob/6f650cff9ab21f81069e0ae30c92eae94219ea63/mypy/checker.py#L2748
    
    This innocuous check has a side effect that turns out to be important
    for the partially undefined checks. These checks work by reaching
    into the type map populated by the checker. But if we never actually
    ended up analysing the code, we never populate the type map.
    
    This therefore changes things to assume that if we couldn't find the
    expression in the type map, it's probably because it was unreachable.
    hauntsaninja committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    1813d5a View commit details
    Browse the repository at this point in the history