ruff/crates/ruff_python_parser/resources/valid/statement
Abhijeet Prasad Bodas 0eeb02c0c1
[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.
2025-04-30 15:04:00 -04:00
..
ambiguous_lpar_with_items.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
annotated_assignment.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
assert.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
assignment.py [syntax-errors] Detect single starred expression assignment x = *y (#17624) 2025-04-30 15:04:00 -04:00
augmented_assignment.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
class.py Add support for PEP 696 syntax (#11120) 2024-04-26 09:47:29 +02:00
delete.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
for.py [syntax-errors] Starred expressions in return, yield, and for (#17134) 2025-04-02 08:38:25 -04:00
from_import.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
function.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
if.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
import.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
match.py [syntax-errors] Irrefutable case pattern before final case (#16905) 2025-03-26 12:27:16 -04:00
raise.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
return.py [syntax-errors] Starred expressions in return, yield, and for (#17134) 2025-04-02 08:38:25 -04:00
simple.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
try.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
type.py Add support for PEP 696 syntax (#11120) 2024-04-26 09:47:29 +02:00
while.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
with.py Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30