mirror of https://github.com/astral-sh/ruff
Accept empty inner calls in C414 (#6725)
Closes https://github.com/astral-sh/ruff/issues/6716.
This commit is contained in:
parent
3c2dd5e42e
commit
be96e0041a
|
|
@ -22,6 +22,10 @@ tuple(
|
||||||
"o"]
|
"o"]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
set(set())
|
||||||
|
set(list())
|
||||||
|
set(tuple())
|
||||||
|
sorted(reversed())
|
||||||
|
|
||||||
# Nested sorts with differing keyword arguments. Not flagged.
|
# Nested sorts with differing keyword arguments. Not flagged.
|
||||||
sorted(sorted(x, key=lambda y: y))
|
sorted(sorted(x, key=lambda y: y))
|
||||||
|
|
|
||||||
|
|
@ -765,13 +765,14 @@ pub(crate) fn fix_unnecessary_double_cast_or_process(
|
||||||
outer_call.args = match outer_call.args.split_first() {
|
outer_call.args = match outer_call.args.split_first() {
|
||||||
Some((first, rest)) => {
|
Some((first, rest)) => {
|
||||||
let inner_call = match_call(&first.value)?;
|
let inner_call = match_call(&first.value)?;
|
||||||
if let Some(iterable) = inner_call.args.first() {
|
inner_call
|
||||||
let mut args = vec![iterable.clone()];
|
.args
|
||||||
args.extend_from_slice(rest);
|
.iter()
|
||||||
args
|
.filter(|argument| argument.keyword.is_none())
|
||||||
} else {
|
.take(1)
|
||||||
bail!("Expected at least one argument in inner function call");
|
.chain(rest.iter())
|
||||||
}
|
.cloned()
|
||||||
|
.collect::<Vec<_>>()
|
||||||
}
|
}
|
||||||
None => bail!("Expected at least one argument in outer function call"),
|
None => bail!("Expected at least one argument in outer function call"),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -365,8 +365,8 @@ C414.py:19:1: C414 [*] Unnecessary `list` call within `tuple()`
|
||||||
23 | | )
|
23 | | )
|
||||||
24 | | )
|
24 | | )
|
||||||
| |_^ C414
|
| |_^ C414
|
||||||
25 |
|
25 | set(set())
|
||||||
26 | # Nested sorts with differing keyword arguments. Not flagged.
|
26 | set(list())
|
||||||
|
|
|
|
||||||
= help: Remove the inner `list` call
|
= help: Remove the inner `list` call
|
||||||
|
|
||||||
|
|
@ -380,8 +380,91 @@ C414.py:19:1: C414 [*] Unnecessary `list` call within `tuple()`
|
||||||
22 21 | "o"]
|
22 21 | "o"]
|
||||||
23 22 | )
|
23 22 | )
|
||||||
24 |-)
|
24 |-)
|
||||||
25 23 |
|
25 23 | set(set())
|
||||||
26 24 | # Nested sorts with differing keyword arguments. Not flagged.
|
26 24 | set(list())
|
||||||
27 25 | sorted(sorted(x, key=lambda y: y))
|
27 25 | set(tuple())
|
||||||
|
|
||||||
|
C414.py:25:1: C414 [*] Unnecessary `set` call within `set()`
|
||||||
|
|
|
||||||
|
23 | )
|
||||||
|
24 | )
|
||||||
|
25 | set(set())
|
||||||
|
| ^^^^^^^^^^ C414
|
||||||
|
26 | set(list())
|
||||||
|
27 | set(tuple())
|
||||||
|
|
|
||||||
|
= help: Remove the inner `set` call
|
||||||
|
|
||||||
|
ℹ Suggested fix
|
||||||
|
22 22 | "o"]
|
||||||
|
23 23 | )
|
||||||
|
24 24 | )
|
||||||
|
25 |-set(set())
|
||||||
|
25 |+set()
|
||||||
|
26 26 | set(list())
|
||||||
|
27 27 | set(tuple())
|
||||||
|
28 28 | sorted(reversed())
|
||||||
|
|
||||||
|
C414.py:26:1: C414 [*] Unnecessary `list` call within `set()`
|
||||||
|
|
|
||||||
|
24 | )
|
||||||
|
25 | set(set())
|
||||||
|
26 | set(list())
|
||||||
|
| ^^^^^^^^^^^ C414
|
||||||
|
27 | set(tuple())
|
||||||
|
28 | sorted(reversed())
|
||||||
|
|
|
||||||
|
= help: Remove the inner `list` call
|
||||||
|
|
||||||
|
ℹ Suggested fix
|
||||||
|
23 23 | )
|
||||||
|
24 24 | )
|
||||||
|
25 25 | set(set())
|
||||||
|
26 |-set(list())
|
||||||
|
26 |+set()
|
||||||
|
27 27 | set(tuple())
|
||||||
|
28 28 | sorted(reversed())
|
||||||
|
29 29 |
|
||||||
|
|
||||||
|
C414.py:27:1: C414 [*] Unnecessary `tuple` call within `set()`
|
||||||
|
|
|
||||||
|
25 | set(set())
|
||||||
|
26 | set(list())
|
||||||
|
27 | set(tuple())
|
||||||
|
| ^^^^^^^^^^^^ C414
|
||||||
|
28 | sorted(reversed())
|
||||||
|
|
|
||||||
|
= help: Remove the inner `tuple` call
|
||||||
|
|
||||||
|
ℹ Suggested fix
|
||||||
|
24 24 | )
|
||||||
|
25 25 | set(set())
|
||||||
|
26 26 | set(list())
|
||||||
|
27 |-set(tuple())
|
||||||
|
27 |+set()
|
||||||
|
28 28 | sorted(reversed())
|
||||||
|
29 29 |
|
||||||
|
30 30 | # Nested sorts with differing keyword arguments. Not flagged.
|
||||||
|
|
||||||
|
C414.py:28:1: C414 [*] Unnecessary `reversed` call within `sorted()`
|
||||||
|
|
|
||||||
|
26 | set(list())
|
||||||
|
27 | set(tuple())
|
||||||
|
28 | sorted(reversed())
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ C414
|
||||||
|
29 |
|
||||||
|
30 | # Nested sorts with differing keyword arguments. Not flagged.
|
||||||
|
|
|
||||||
|
= help: Remove the inner `reversed` call
|
||||||
|
|
||||||
|
ℹ Suggested fix
|
||||||
|
25 25 | set(set())
|
||||||
|
26 26 | set(list())
|
||||||
|
27 27 | set(tuple())
|
||||||
|
28 |-sorted(reversed())
|
||||||
|
28 |+sorted()
|
||||||
|
29 29 |
|
||||||
|
30 30 | # Nested sorts with differing keyword arguments. Not flagged.
|
||||||
|
31 31 | sorted(sorted(x, key=lambda y: y))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue