Commits
Click on a commit to change the comparison range[syntax-errors] Single starred assignment target
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, 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 reorder test cases and move just above add_error call Merge branch 'main' into brent/single-starred-assignment-target