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"])}'
|
||||||
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");
|
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 {
|
tree = Expression::DictComp(Box::new(DictComp {
|
||||||
key: Box::new(key.clone()),
|
key: Box::new(key.clone()),
|
||||||
value: Box::new(value.clone()),
|
value: Box::new(value.clone()),
|
||||||
for_in: list_comp.for_in.clone(),
|
for_in,
|
||||||
whitespace_before_colon: ParenthesizableWhitespace::default(),
|
whitespace_before_colon: ParenthesizableWhitespace::default(),
|
||||||
whitespace_after_colon: space(),
|
whitespace_after_colon: space(),
|
||||||
lbrace: LeftCurlyBrace {
|
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'{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"])}'
|
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"]) }'
|
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)
|
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"]) | dict([(s,s) for s in "ab"])}'
|
||||||
12 |+f'{dict([(s,s) for s in "ab"]) | {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"]) }'
|
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)
|
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"])}'
|
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"]) | dict([(s,s) for s in "ab"]) }'
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ C404
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ C404
|
||||||
|
14 |
|
||||||
|
15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||||
|
|
|
|
||||||
= help: Rewrite as a `dict` comprehension
|
= 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"])}'
|
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"]) | dict([(s,s) for s in "ab"]) }'
|
||||||
13 |+f'{ {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)
|
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"])}'
|
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"]) | dict([(s,s) for s in "ab"]) }'
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ C404
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ C404
|
||||||
|
14 |
|
||||||
|
15 | # Regression test for: https://github.com/astral-sh/ruff/issues/7087
|
||||||
|
|
|
|
||||||
= help: Rewrite as a `dict` comprehension
|
= 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"])}'
|
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"]) | dict([(s,s) for s in "ab"]) }'
|
||||||
13 |+f'{ dict([(s,s) for s in "ab"]) | {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