ruff/crates/ruff_python_parser/src/parser
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
..
snapshots Update insta snapshots (#14366) 2024-11-15 19:31:15 +01:00
expression.rs Upgrade to Rust 1.86 and bump MSRV to 1.84 (#17171) 2025-04-03 15:59:44 +00:00
helpers.rs [syntax-errors] Improve error message and range for pre-PEP-614 decorator syntax errors (#16581) 2025-03-17 11:17:27 +00:00
mod.rs [syntax-errors] Irrefutable case pattern before final case (#16905) 2025-03-26 12:27:16 -04:00
options.rs [syntax-errors] Store to or delete `__debug__` (#16984) 2025-03-29 12:07:20 -04:00
pattern.rs [syntax-errors] Irrefutable case pattern before final case (#16905) 2025-03-26 12:27:16 -04:00
progress.rs Replace LALRPOP parser with hand-written parser (#10036) 2024-04-18 17:57:39 +05:30
recovery.rs Use `CompactString` for `Identifier` (#12101) 2024-07-01 10:06:02 +02:00
statement.rs [syntax-errors] Detect single starred expression assignment `x = *y` (#17624) 2025-04-30 15:04:00 -04:00
tests.rs Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00