mirror of
https://github.com/astral-sh/ruff.git
synced 2025-07-16 01:25:22 +00:00
[syntax-errors] Single starred assignment target (#17024)
Summary -- Detects starred assignment targets outside of tuples and lists like `*a = (1,)`. This PR only considers assignment statements. I also checked annotated assigment statements, but these give a separate error that we already catch, so I think they're okay not to consider: ```pycon >>> *a: list[int] = [] File "<python-input-72>", line 1 *a: list[int] = [] ^ SyntaxError: invalid syntax ``` Fixes #13759 Test Plan -- New inline tests, plus a new `SemanticSyntaxError` for an existing parser test. I also removed a now-invalid case from an otherwise-valid test fixture. The new semantic error leads to two errors for the case below: ```python *foo() = 42 ``` but this matches [pyright] too. [pyright]: https://pyright-play.net/?code=FQMw9mAUCUAEC8sAsAmAUEA
This commit is contained in:
parent
a0819f0c51
commit
ab1011ce70
9 changed files with 365 additions and 138 deletions
|
@ -0,0 +1 @@
|
|||
*a = (1,)
|
Loading…
Add table
Add a link
Reference in a new issue