mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-02 14:52:01 +00:00
Fix formatting of lambda
star arguments (#6257)
## Summary Previously, the ruff formatter was removing the star argument of `lambda` expressions when formatting. Given the following code snippet ```python lambda *a: () lambda **b: () ``` it would be formatted to ```python lambda: () lambda: () ``` We fix this by checking for the presence of `args`, `vararg` or `kwarg` in the `lambda` expression, before we were only checking for the presence of `args`. Fixes #5894 ## Test Plan Add new tests cases. --------- Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
This commit is contained in:
parent
c362ea7fd4
commit
7c5791fb77
7 changed files with 212 additions and 242 deletions
|
@ -75,3 +75,19 @@ def f(
|
|||
|
||||
# ...but we do preserve a trailing comma after the arguments
|
||||
a = lambda b,: 0
|
||||
|
||||
lambda a,: 0
|
||||
lambda *args,: 0
|
||||
lambda **kwds,: 0
|
||||
lambda a, *args,: 0
|
||||
lambda a, **kwds,: 0
|
||||
lambda *args, b,: 0
|
||||
lambda *, b,: 0
|
||||
lambda *args, **kwds,: 0
|
||||
lambda a, *args, b,: 0
|
||||
lambda a, *, b,: 0
|
||||
lambda a, *args, **kwds,: 0
|
||||
lambda *args, b, **kwds,: 0
|
||||
lambda *, b, **kwds,: 0
|
||||
lambda a, *args, b, **kwds,: 0
|
||||
lambda a, *, b, **kwds,: 0
|
||||
|
|
|
@ -231,3 +231,21 @@ def f42(
|
|||
c,
|
||||
):
|
||||
pass
|
||||
|
||||
|
||||
# Check trailing commas are permitted in funcdef argument list.
|
||||
def f(a, ): pass
|
||||
def f(*args, ): pass
|
||||
def f(**kwds, ): pass
|
||||
def f(a, *args, ): pass
|
||||
def f(a, **kwds, ): pass
|
||||
def f(*args, b, ): pass
|
||||
def f(*, b, ): pass
|
||||
def f(*args, **kwds, ): pass
|
||||
def f(a, *args, b, ): pass
|
||||
def f(a, *, b, ): pass
|
||||
def f(a, *args, **kwds, ): pass
|
||||
def f(*args, b, **kwds, ): pass
|
||||
def f(*, b, **kwds, ): pass
|
||||
def f(a, *args, b, **kwds, ): pass
|
||||
def f(a, *, b, **kwds, ): pass
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue