mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 10:49:50 +00:00
Don't reorder parameters in function calls (#7268)
## Summary In `f(*args, a=b, *args2, **kwargs)` the args (`*args`, `*args2`) and keywords (`a=b`, `**kwargs`) are interleaved, which we previously didn't handle. Fixes #6498 **main** | project | similarity index | total files | changed files | |--------------|------------------:|------------------:|------------------:| | cpython | 0.76083 | 1789 | 1632 | | **django** | 0.99966 | 2760 | 58 | | transformers | 0.99930 | 2587 | 447 | | twine | 1.00000 | 33 | 0 | | typeshed | 0.99983 | 3496 | 18 | | warehouse | 0.99825 | 648 | 22 | | zulip | 0.99950 | 1437 | 27 | **PR** | project | similarity index | total files | changed files | |--------------|------------------:|------------------:|------------------:| | cpython | 0.76083 | 1789 | 1632 | | **django** | 0.99967 | 2760 | 53 | | transformers | 0.99930 | 2587 | 447 | | twine | 1.00000 | 33 | 0 | | typeshed | 0.99983 | 3496 | 18 | | warehouse | 0.99825 | 648 | 22 | | zulip | 0.99950 | 1437 | 27 | ## Test Plan New fixtures
This commit is contained in:
parent
56440ad835
commit
f4c7bff36b
6 changed files with 203 additions and 129 deletions
|
@ -248,6 +248,29 @@ f(x=(
|
|||
# comment
|
||||
1
|
||||
))
|
||||
|
||||
args = [2]
|
||||
args2 = [3]
|
||||
kwargs = {"4": 5}
|
||||
|
||||
# https://github.com/astral-sh/ruff/issues/6498
|
||||
f(a=1, *args, **kwargs)
|
||||
f(*args, a=1, **kwargs)
|
||||
f(*args, a=1, *args2, **kwargs)
|
||||
f( # a
|
||||
* # b
|
||||
args
|
||||
# c
|
||||
, # d
|
||||
a=1,
|
||||
# e
|
||||
* # f
|
||||
args2
|
||||
# g
|
||||
** # h
|
||||
kwargs,
|
||||
)
|
||||
|
||||
```
|
||||
|
||||
## Output
|
||||
|
@ -493,6 +516,27 @@ f(
|
|||
1
|
||||
)
|
||||
)
|
||||
|
||||
args = [2]
|
||||
args2 = [3]
|
||||
kwargs = {"4": 5}
|
||||
|
||||
# https://github.com/astral-sh/ruff/issues/6498
|
||||
f(a=1, *args, **kwargs)
|
||||
f(*args, a=1, **kwargs)
|
||||
f(*args, a=1, *args2, **kwargs)
|
||||
f( # a
|
||||
# b
|
||||
*args, # d
|
||||
# c
|
||||
a=1,
|
||||
# e
|
||||
# f
|
||||
*args2
|
||||
# g
|
||||
** # h
|
||||
kwargs,
|
||||
)
|
||||
```
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue