ruff
[red-knot] Combine terminal statement support with statically known branches
#15817
Merged

[red-knot] Combine terminal statement support with statically known branches #15817

dcreager merged 36 commits into main from dcreager/static-terminal
dcreager
dcreager Add ALWAYS_FALSE
02c47981
dcreager Mark return states
2c0d577a
dcreager Mark live bindings as non-visible when flow is unreachable
e1988064
AlexWaygood AlexWaygood added ty
dcreager Revert "Mark return states"
23b366d4
dcreager Handle final return statement specially
38f3d99d
dcreager Customizable binding visibility
5c1918af
dcreager Reachability is now a vis constraint, not a bool
7504fb74
dcreager Fix ternary AND logic
ee6f2538
dcreager These are now unresolved I guess?
6b53554f
dcreager clippy
bb11cf81
dcreager dcreager marked this pull request as ready for review 1 year ago
dcreager dcreager requested a review from carljm carljm 1 year ago
dcreager dcreager requested a review from MichaReiser MichaReiser 1 year ago
dcreager dcreager requested a review from AlexWaygood AlexWaygood 1 year ago
dcreager dcreager requested a review from sharkdp sharkdp 1 year ago
dcreager dcreager marked this pull request as draft 1 year ago
dcreager Normalize negations of ALWAYS_{TRUE,FALSE}
a2ef7028
dcreager scope_start_visibility _is_ reachability
1c42a2b5
dcreager No, bindings are always visible
289c0c65
dcreager TODO for `raise`/`else` unreachability
8b0899f9
dcreager Fix test failure
9cd8e684
dcreager Expected test case change
1a80f819
dcreager
dcreager commented on 2025-01-30
carljm
dcreager Try to skip simplification by checking scope_start_visibility
f71325c2
dcreager And try via a separate `always_reachable` boolean
0e060120
codspeed-hq
dcreager Add AlwaysFalse as its own constraint variant
b3b4577b
dcreager Update always_reachable on merge correctly
46b1ec2b
dcreager Try checking if reachability contains AlwaysFalse in syntax tree
999188a1
dcreager But that doesn't work either
0f278daf
dcreager Merge branch 'main' into dcreager/static-terminal
0fb6a742
dcreager This is working again
c882a956
dcreager Remove static bool
33db6f1e
dcreager Remove moot comment
b49916d6
dcreager And another
c80f27e3
dcreager New bindings are visible only if control flow is reachable
0d50385c
dcreager
dcreager commented on 2025-02-04
dcreager Add xfail for RET503
c42490cb
dcreager
dcreager dcreager marked this pull request as ready for review 1 year ago
dcreager
dcreager dcreager changed the title [red-knot] [WIP] Combine terminal statement support with statically known branches [red-knot] Combine terminal statement support with statically known branches 1 year ago
carljm
dcreager
carljm
carljm approved these changes on 2025-01-30
carljm
carljm commented on 2025-02-04
carljm
carljm commented on 2025-02-04
MichaReiser
dcreager Update terminal statement comment
26f842b4
dcreager Add shorter example for bindings after terminal statement
e5b6c4ac
dcreager Add back debug derive
00e236fa
dcreager Add TODO to function symbol comment
1d936504
dcreager
dcreager commented on 2025-02-05
dcreager Wrap try examples in functions to bound reachability
ae837410
dcreager
dcreager commented on 2025-02-05
dcreager Spelling typo
f13a6a6a
dcreager Add TODO for unreachable code example
7423de29
dcreager
dcreager
dcreager dcreager merged 09065543 into main 1 year ago
dcreager dcreager deleted the dcreager/static-terminal branch 1 year ago
MichaReiser
MichaReiser
MichaReiser
dcreager
MichaReiser

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone