mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 02:38:25 +00:00
[syntax-errors] Detect single starred expression assignment x = *y
(#17624)
## Summary Part of #17412 Starred expressions cannot be used as values in assignment expressions. Add a new semantic syntax error to catch such instances. Note that we already have `ParseErrorType::InvalidStarredExpressionUsage` to catch some starred expression errors during parsing, but that does not cover top level assignment expressions. ## Test Plan - Added new inline tests for the new rule - Found some examples marked as "valid" in existing tests (`_ = *data`), which are not really valid (per this new rule) and updated them - There was an existing inline test - `assign_stmt_invalid_value_expr` which had instances of `*` expression which would be deemed invalid by this new rule. Converted these to tuples, so that they do not trigger this new rule.
This commit is contained in:
parent
f31b1c695c
commit
0eeb02c0c1
10 changed files with 661 additions and 217 deletions
|
@ -37,7 +37,7 @@ foo.bar = 42
|
|||
|
||||
foo = 42
|
||||
|
||||
[] = *data
|
||||
() = *data
|
||||
[] = (*data,)
|
||||
() = (*data,)
|
||||
a, b = ab
|
||||
a = b = c
|
Loading…
Add table
Add a link
Reference in a new issue