mirror of https://github.com/astral-sh/ruff
Refactor fix in `readlines-in-for` (#18573)
## Summary Post-merge feedback from https://github.com/astral-sh/ruff/pull/18542.
This commit is contained in:
parent
1dc8f8f903
commit
331821244b
|
|
@ -102,8 +102,6 @@ with open("furb129.py") as f:
|
|||
pass
|
||||
for line in(f).readlines():
|
||||
pass
|
||||
# Test case for issue #17683 - missing space before keyword
|
||||
|
||||
# Test case for issue #17683 (missing space before keyword)
|
||||
print([line for line in f.readlines()if True])
|
||||
print([line for line in f.readlines()and True])
|
||||
print([line for line in f.readlines()or True])
|
||||
print([line for line in f.readlines()in ["test"]])
|
||||
|
|
|
|||
|
|
@ -86,27 +86,23 @@ fn readlines_in_iter(checker: &Checker, iter_expr: &Expr) {
|
|||
return;
|
||||
}
|
||||
}
|
||||
let edit = if let Some(parenthesized_range) = parenthesized_range(
|
||||
|
||||
let deletion_range = if let Some(parenthesized_range) = parenthesized_range(
|
||||
expr_attr.value.as_ref().into(),
|
||||
expr_attr.into(),
|
||||
checker.comment_ranges(),
|
||||
checker.source(),
|
||||
) {
|
||||
let deletion_range = expr_call.range().add_start(parenthesized_range.len());
|
||||
expr_call.range().add_start(parenthesized_range.len())
|
||||
} else {
|
||||
expr_call.range().add_start(expr_attr.value.range().len())
|
||||
};
|
||||
|
||||
let padded = pad_end(String::new(), deletion_range.end(), checker.locator());
|
||||
if padded.is_empty() {
|
||||
let edit = if padded.is_empty() {
|
||||
Edit::range_deletion(deletion_range)
|
||||
} else {
|
||||
Edit::range_replacement(padded, deletion_range)
|
||||
}
|
||||
} else {
|
||||
let deletion_range = expr_call.range().add_start(expr_attr.value.range().len());
|
||||
let padded = pad_end(String::new(), deletion_range.end(), checker.locator());
|
||||
if padded.is_empty() {
|
||||
Edit::range_deletion(deletion_range)
|
||||
} else {
|
||||
Edit::range_replacement(padded, deletion_range)
|
||||
}
|
||||
};
|
||||
|
||||
let mut diagnostic = checker.report_diagnostic(ReadlinesInFor, expr_call.range());
|
||||
|
|
|
|||
|
|
@ -307,7 +307,6 @@ FURB129.py:103:16: FURB129 [*] Instead of calling `readlines()`, iterate over fi
|
|||
103 | for line in(f).readlines():
|
||||
| ^^^^^^^^^^^^^^^ FURB129
|
||||
104 | pass
|
||||
105 | # Test case for issue #17683 - missing space before keyword
|
||||
|
|
||||
= help: Remove `readlines()`
|
||||
|
||||
|
|
@ -318,26 +317,20 @@ FURB129.py:103:16: FURB129 [*] Instead of calling `readlines()`, iterate over fi
|
|||
103 |- for line in(f).readlines():
|
||||
103 |+ for line in(f):
|
||||
104 104 | pass
|
||||
105 105 | # Test case for issue #17683 - missing space before keyword
|
||||
106 106 | print([line for line in f.readlines()if True])
|
||||
105 105 |
|
||||
106 106 | # Test case for issue #17683 (missing space before keyword)
|
||||
|
||||
FURB129.py:106:29: FURB129 [*] Instead of calling `readlines()`, iterate over file object directly
|
||||
FURB129.py:107:29: FURB129 [*] Instead of calling `readlines()`, iterate over file object directly
|
||||
|
|
||||
104 | pass
|
||||
105 | # Test case for issue #17683 - missing space before keyword
|
||||
106 | print([line for line in f.readlines()if True])
|
||||
106 | # Test case for issue #17683 (missing space before keyword)
|
||||
107 | print([line for line in f.readlines()if True])
|
||||
| ^^^^^^^^^^^^^ FURB129
|
||||
107 | print([line for line in f.readlines()and True])
|
||||
108 | print([line for line in f.readlines()or True])
|
||||
|
|
||||
= help: Remove `readlines()`
|
||||
|
||||
ℹ Unsafe fix
|
||||
103 103 | for line in(f).readlines():
|
||||
104 104 | pass
|
||||
105 105 | # Test case for issue #17683 - missing space before keyword
|
||||
106 |- print([line for line in f.readlines()if True])
|
||||
106 |+ print([line for line in f if True])
|
||||
107 107 | print([line for line in f.readlines()and True])
|
||||
108 108 | print([line for line in f.readlines()or True])
|
||||
109 109 | print([line for line in f.readlines()in ["test"]])
|
||||
105 105 |
|
||||
106 106 | # Test case for issue #17683 (missing space before keyword)
|
||||
107 |- print([line for line in f.readlines()if True])
|
||||
107 |+ print([line for line in f if True])
|
||||
|
|
|
|||
|
|
@ -307,7 +307,6 @@ FURB129.py:103:16: FURB129 [*] Instead of calling `readlines()`, iterate over fi
|
|||
103 | for line in(f).readlines():
|
||||
| ^^^^^^^^^^^^^^^ FURB129
|
||||
104 | pass
|
||||
105 | # Test case for issue #17683 - missing space before keyword
|
||||
|
|
||||
= help: Remove `readlines()`
|
||||
|
||||
|
|
@ -318,26 +317,20 @@ FURB129.py:103:16: FURB129 [*] Instead of calling `readlines()`, iterate over fi
|
|||
103 |- for line in(f).readlines():
|
||||
103 |+ for line in(f):
|
||||
104 104 | pass
|
||||
105 105 | # Test case for issue #17683 - missing space before keyword
|
||||
106 106 | print([line for line in f.readlines()if True])
|
||||
105 105 |
|
||||
106 106 | # Test case for issue #17683 (missing space before keyword)
|
||||
|
||||
FURB129.py:106:29: FURB129 [*] Instead of calling `readlines()`, iterate over file object directly
|
||||
FURB129.py:107:29: FURB129 [*] Instead of calling `readlines()`, iterate over file object directly
|
||||
|
|
||||
104 | pass
|
||||
105 | # Test case for issue #17683 - missing space before keyword
|
||||
106 | print([line for line in f.readlines()if True])
|
||||
106 | # Test case for issue #17683 (missing space before keyword)
|
||||
107 | print([line for line in f.readlines()if True])
|
||||
| ^^^^^^^^^^^^^ FURB129
|
||||
107 | print([line for line in f.readlines()and True])
|
||||
108 | print([line for line in f.readlines()or True])
|
||||
|
|
||||
= help: Remove `readlines()`
|
||||
|
||||
ℹ Safe fix
|
||||
103 103 | for line in(f).readlines():
|
||||
104 104 | pass
|
||||
105 105 | # Test case for issue #17683 - missing space before keyword
|
||||
106 |- print([line for line in f.readlines()if True])
|
||||
106 |+ print([line for line in f if True])
|
||||
107 107 | print([line for line in f.readlines()and True])
|
||||
108 108 | print([line for line in f.readlines()or True])
|
||||
109 109 | print([line for line in f.readlines()in ["test"]])
|
||||
105 105 |
|
||||
106 106 | # Test case for issue #17683 (missing space before keyword)
|
||||
107 |- print([line for line in f.readlines()if True])
|
||||
107 |+ print([line for line in f if True])
|
||||
|
|
|
|||
Loading…
Reference in New Issue