mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-01 06:11:21 +00:00
Add required space when fixing C404 (#7185)
This commit is contained in:
parent
f0ea40a68d
commit
29ba2bb943
3 changed files with 43 additions and 1 deletions
|
@ -11,3 +11,6 @@ f"{dict([(s,f(s)) for s in 'ab'])}"
|
|||
|
||||
f'{dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"])}'
|
||||
f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
|
||||
# Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
saved.append(dict([(k, v)for k,v in list(unique_instance.__dict__.items()) if k in [f.name for f in unique_instance._meta.fields]]))
|
||||
|
|
|
@ -212,10 +212,20 @@ pub(crate) fn fix_unnecessary_list_comprehension_dict(
|
|||
bail!("Expected tuple with two elements");
|
||||
};
|
||||
|
||||
// Insert whitespace before the `for`, since we're removing parentheses, as in:
|
||||
// ```python
|
||||
// dict((x, x)for x in range(3))
|
||||
// ```
|
||||
let mut for_in = list_comp.for_in.clone();
|
||||
if for_in.whitespace_before == ParenthesizableWhitespace::default() {
|
||||
for_in.whitespace_before =
|
||||
ParenthesizableWhitespace::SimpleWhitespace(SimpleWhitespace(" "));
|
||||
}
|
||||
|
||||
tree = Expression::DictComp(Box::new(DictComp {
|
||||
key: Box::new(key.clone()),
|
||||
value: Box::new(value.clone()),
|
||||
for_in: list_comp.for_in.clone(),
|
||||
for_in,
|
||||
whitespace_before_colon: ParenthesizableWhitespace::default(),
|
||||
whitespace_after_colon: space(),
|
||||
lbrace: LeftCurlyBrace {
|
||||
|
|
|
@ -115,6 +115,8 @@ C404.py:12:4: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` com
|
|||
12 |-f'{dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"])}'
|
||||
12 |+f'{ {s: s for s in "ab"} | dict([(s,s) for s in "ab"])}'
|
||||
13 13 | f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
14 14 |
|
||||
15 15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
|
||||
C404.py:12:34: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` comprehension)
|
||||
|
|
||||
|
@ -133,12 +135,16 @@ C404.py:12:34: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` co
|
|||
12 |-f'{dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"])}'
|
||||
12 |+f'{dict([(s,s) for s in "ab"]) | {s: s for s in "ab"} }'
|
||||
13 13 | f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
14 14 |
|
||||
15 15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
|
||||
C404.py:13:5: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` comprehension)
|
||||
|
|
||||
12 | f'{dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"])}'
|
||||
13 | f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ C404
|
||||
14 |
|
||||
15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
|
|
||||
= help: Rewrite as a `dict` comprehension
|
||||
|
||||
|
@ -148,12 +154,17 @@ C404.py:13:5: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` com
|
|||
12 12 | f'{dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"])}'
|
||||
13 |-f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
13 |+f'{ {s: s for s in "ab"} | dict([(s,s) for s in "ab"]) }'
|
||||
14 14 |
|
||||
15 15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
16 16 | saved.append(dict([(k, v)for k,v in list(unique_instance.__dict__.items()) if k in [f.name for f in unique_instance._meta.fields]]))
|
||||
|
||||
C404.py:13:35: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` comprehension)
|
||||
|
|
||||
12 | f'{dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"])}'
|
||||
13 | f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ C404
|
||||
14 |
|
||||
15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
|
|
||||
= help: Rewrite as a `dict` comprehension
|
||||
|
||||
|
@ -163,5 +174,23 @@ C404.py:13:35: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` co
|
|||
12 12 | f'{dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"])}'
|
||||
13 |-f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
13 |+f'{ dict([(s,s) for s in "ab"]) | {s: s for s in "ab"} }'
|
||||
14 14 |
|
||||
15 15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
16 16 | saved.append(dict([(k, v)for k,v in list(unique_instance.__dict__.items()) if k in [f.name for f in unique_instance._meta.fields]]))
|
||||
|
||||
C404.py:16:14: C404 [*] Unnecessary `list` comprehension (rewrite as a `dict` comprehension)
|
||||
|
|
||||
15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
16 | saved.append(dict([(k, v)for k,v in list(unique_instance.__dict__.items()) if k in [f.name for f in unique_instance._meta.fields]]))
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C404
|
||||
|
|
||||
= help: Rewrite as a `dict` comprehension
|
||||
|
||||
ℹ Suggested fix
|
||||
13 13 | f'{ dict([(s,s) for s in "ab"]) | dict([(s,s) for s in "ab"]) }'
|
||||
14 14 |
|
||||
15 15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||
16 |-saved.append(dict([(k, v)for k,v in list(unique_instance.__dict__.items()) if k in [f.name for f in unique_instance._meta.fields]]))
|
||||
16 |+saved.append({k: v for k,v in list(unique_instance.__dict__.items()) if k in [f.name for f in unique_instance._meta.fields]})
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue