Force parentheses for named expressions in more contexts (#6494)

See:
https://github.com/astral-sh/ruff/pull/6436#issuecomment-1673583888.
This commit is contained in:
Charlie Marsh 2023-08-11 01:54:46 -04:00 committed by GitHub
parent 2e5c81b202
commit 2cedb401bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 0 deletions

View file

@ -36,3 +36,18 @@ except (e := Exception):
(x := 1)
(x := 1) + (y := 2)
with (x := 1):
pass
def f():
yield (x := 1)
def f():
yield from (x := 1)
async def f():
await (x := 1)

View file

@ -44,6 +44,9 @@ impl NeedsParentheses for ExprNamedExpr {
|| parent.is_stmt_return()
|| parent.is_except_handler_except_handler()
|| parent.is_with_item()
|| parent.is_expr_yield()
|| parent.is_expr_yield_from()
|| parent.is_expr_await()
|| parent.is_stmt_delete()
|| parent.is_stmt_for()
{

View file

@ -42,6 +42,21 @@ except (e := Exception):
(x := 1)
(x := 1) + (y := 2)
with (x := 1):
pass
def f():
yield (x := 1)
def f():
yield from (x := 1)
async def f():
await (x := 1)
```
## Output
@ -82,6 +97,21 @@ except (e := Exception):
(x := 1)
(x := 1) + (y := 2)
with (x := 1):
pass
def f():
yield (x := 1)
def f():
yield from (x := 1)
async def f():
await (x := 1)
```