Skip to content

Commit

Permalink
[red-knot] Consider all definitions after terminal statements unreach…
Browse files Browse the repository at this point in the history
…able (#15676)

`FlowSnapshot` now tracks a `reachable` bool, which indicates whether we
have encountered a terminal statement on that control flow path. When
merging flow states together, we skip any that have been marked
unreachable. This ensures that bindings that can only be reached through
unreachable paths are not considered visible.

## Test Plan

The new mdtests failed (with incorrect `reveal_type` results, and
spurious `possibly-unresolved-reference` errors) before adding the new
visibility constraints.

---------

Co-authored-by: Carl Meyer <[email protected]>
  • Loading branch information
dcreager and carljm authored Jan 29, 2025
1 parent e1c9d10 commit 15d886a
Show file tree
Hide file tree
Showing 4 changed files with 686 additions and 22 deletions.
Loading

0 comments on commit 15d886a

Please sign in to comment.