mirror of
https://github.com/astral-sh/ruff.git
synced 2025-07-14 00:25:17 +00:00

Summary -- Fixes https://github.com/astral-sh/ruff/issues/16520 by flagging single, starred expressions in `return`, `yield`, and `for` statements. I thought `yield from` would also be included here, but that error is emitted by the CPython parser: ```pycon >>> ast.parse("def f(): yield from *x") Traceback (most recent call last): File "<python-input-214>", line 1, in <module> ast.parse("def f(): yield from *x") ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/ast.py", line 54, in parse return compile(source, filename, mode, flags, _feature_version=feature_version, optimize=optimize) File "<unknown>", line 1 def f(): yield from *x ^ SyntaxError: invalid syntax ``` And we also already catch it in our parser. Test Plan -- New inline tests and updates to existing tests.
14 lines
166 B
Python
14 lines
166 B
Python
yield
|
|
yield x
|
|
yield x + 1
|
|
yield x and y
|
|
yield call()
|
|
yield [1, 2]
|
|
yield {3, 4}
|
|
yield {x: 5}
|
|
yield x, y
|
|
yield (x, y)
|
|
yield x == y
|
|
yield (x := 1)
|
|
yield x, *y
|
|
yield *x,
|