[syntax-error]: no binding for nonlocal PLE0117 as a semantic syntax error#21032
[syntax-error]: no binding for nonlocal PLE0117 as a semantic syntax error#21032ntBre merged 12 commits intoastral-sh:mainfrom
Conversation
Signed-off-by: 11happy <[email protected]>
Signed-off-by: 11happy <[email protected]>
Diagnostic diff on typing conformance testsNo changes detected when running ty on typing conformance tests ✅ |
|
Signed-off-by: 11happy <[email protected]>
Signed-off-by: 11happy <[email protected]>
|
@ntBre its ready for review : ) |
|
ntBre
left a comment
There was a problem hiding this comment.
Thanks! This looks good overall, I just had a few small suggestions.
|
|
||
| // test_ok nonlocal_declaration_at_module_level | ||
| // def _(): | ||
| // nonlocal x |
There was a problem hiding this comment.
I'd probably revert this change since it just moves the test down, right?
Co-authored-by: Brent Westbrook <[email protected]>
Signed-off-by: 11happy <[email protected]>
Signed-off-by: 11happy <[email protected]>
Signed-off-by: 11happy <[email protected]>
ntBre
left a comment
There was a problem hiding this comment.
Thanks! I just pushed a couple of commits removing the unrelated snapshot removal and updating the helper method's docstring. I also added a comment to the ty version of has_nonlocal_binding since we already check for this syntax error in ty here:
ruff/crates/ty_python_semantic/src/types/infer/builder.rs
Lines 5395 to 5404 in ca7ca34
Thanks @AlexWaygood for pointing that out!
(Ideally we'd use the SemanticSyntaxErrorKind here too, but I didn't see a great way to do that immediately. We'd need another helper like InferContext::report_diagnostic)
Co-authored-by: Alex Waygood <[email protected]>
* main: (188 commits) [ty] Discover site-packages from the environment that ty is installed in (astral-sh#21286) [ty] Make special cases for `UnionType` slightly narrower (astral-sh#21276) Require ignore 0.4.24 in `Cargo.toml` (astral-sh#21292) [ty] Favour imported symbols over builtin symbols (astral-sh#21285) docs: revise Ruff setup instructions for Zed editor (astral-sh#20935) [ty] Update salsa (astral-sh#21281) [syntax-error]: no binding for nonlocal PLE0117 as a semantic syntax error (astral-sh#21032) [ty] Constraining a typevar with itself (possibly via union or intersection) (astral-sh#21273) [`ruff`] Fix false positives on starred arguments (`RUF057`) (astral-sh#21256) [ty] Simplify unions containing multiple type variables during inference (astral-sh#21275) [ty] Add `ty_server::Db` trait (astral-sh#21241) [ty] Refactor `Range` to/from `TextRange` conversion as prep for notebook support (astral-sh#21230) [ty] Fix playground crash when file name includes path separator (astral-sh#21151) [`refurb`] Fix false negative for underscores before sign in `Decimal` constructor (`FURB157`) (astral-sh#21190) [ty] Allow values of type `None` in type expressions (astral-sh#21263) Run codspeed benchmarks with `profiling` profile (astral-sh#21261) [ty] Update expected diagnostic count in benchmarks (astral-sh#21269) Avoid extra parentheses for long `match` patterns with `as` captures (astral-sh#21176) [ty] Update salsa (astral-sh#21265) [ty] `dict` is not assignable to `TypedDict` (astral-sh#21238) ...
* origin/main: Remove duplicate preview tests for `FURB101` and `FURB103` (#21303) [ty] Add support for `Literal`s in implicit type aliases (#21296) [ty] Add missing `heap_size` to `variance_of` queries (#21318) [`pyupgrade`] Fix false positive on relative imports from local `.builtins` module (`UP029`) (#21309) [ty] Make range/position conversions fallible (#21297) Bump 0.14.4 (#21306) Fix main by using `infer_expression` (#21299) [ty] Understand legacy and PEP 695 `ParamSpec` (#21139) [ty] Discover site-packages from the environment that ty is installed in (#21286) [ty] Make special cases for `UnionType` slightly narrower (#21276) Require ignore 0.4.24 in `Cargo.toml` (#21292) [ty] Favour imported symbols over builtin symbols (#21285) docs: revise Ruff setup instructions for Zed editor (#20935) [ty] Update salsa (#21281) [syntax-error]: no binding for nonlocal PLE0117 as a semantic syntax error (#21032)
Summary
This PR ports PLE0117 as a semantic syntax error.
Test Plan
Tests previously written