mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-29 21:34:57 +00:00
parent
7defc0d136
commit
eb9c7ae869
13 changed files with 642 additions and 1106 deletions
|
@ -244,3 +244,11 @@ def f():
|
|||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def has_untracted_files():
|
||||
if b'Untracked files' in result.stdout:
|
||||
return True
|
||||
else:
|
||||
\
|
||||
return False
|
||||
|
|
|
@ -317,26 +317,28 @@ pub(crate) fn adjust_indentation(
|
|||
line_indentation.contains('\t') && line_indentation.contains(' ')
|
||||
});
|
||||
|
||||
if contains_multiline_string || mixed_indentation {
|
||||
let module_text = format!("def f():{}{contents}", stylist.line_ending().as_str());
|
||||
|
||||
let mut tree = match_statement(&module_text)?;
|
||||
|
||||
let embedding = match_function_def(&mut tree)?;
|
||||
|
||||
let indented_block = match_indented_block(&mut embedding.body)?;
|
||||
indented_block.indent = Some(indentation);
|
||||
|
||||
let module_text = indented_block.codegen_stylist(stylist);
|
||||
let module_text = module_text
|
||||
.strip_prefix(stylist.line_ending().as_str())
|
||||
.unwrap()
|
||||
.to_string();
|
||||
Ok(module_text)
|
||||
} else {
|
||||
// Otherwise, we can do a simple adjustment ourselves.
|
||||
Ok(dedent_to(contents, indentation))
|
||||
// For simple cases, try to do a manual dedent.
|
||||
if !contains_multiline_string && !mixed_indentation {
|
||||
if let Some(dedent) = dedent_to(contents, indentation) {
|
||||
return Ok(dedent);
|
||||
}
|
||||
}
|
||||
|
||||
let module_text = format!("def f():{}{contents}", stylist.line_ending().as_str());
|
||||
|
||||
let mut tree = match_statement(&module_text)?;
|
||||
|
||||
let embedding = match_function_def(&mut tree)?;
|
||||
|
||||
let indented_block = match_indented_block(&mut embedding.body)?;
|
||||
indented_block.indent = Some(indentation);
|
||||
|
||||
let module_text = indented_block.codegen_stylist(stylist);
|
||||
let module_text = module_text
|
||||
.strip_prefix(stylist.line_ending().as_str())
|
||||
.unwrap()
|
||||
.to_string();
|
||||
Ok(module_text)
|
||||
}
|
||||
|
||||
/// Determine if a vector contains only one, specific element.
|
||||
|
|
|
@ -36,10 +36,6 @@ mod tests {
|
|||
}
|
||||
|
||||
#[test_case(Rule::ImplicitReturn, Path::new("RET503.py"))]
|
||||
#[test_case(Rule::SuperfluousElseReturn, Path::new("RET505.py"))]
|
||||
#[test_case(Rule::SuperfluousElseRaise, Path::new("RET506.py"))]
|
||||
#[test_case(Rule::SuperfluousElseContinue, Path::new("RET507.py"))]
|
||||
#[test_case(Rule::SuperfluousElseBreak, Path::new("RET508.py"))]
|
||||
fn preview_rules(rule_code: Rule, path: &Path) -> Result<()> {
|
||||
let snapshot = format!(
|
||||
"preview__{}_{}",
|
||||
|
|
|
@ -672,16 +672,14 @@ fn superfluous_else_node(
|
|||
.unwrap_or_else(|| elif_else.range()),
|
||||
);
|
||||
if checker.enabled(diagnostic.kind.rule()) {
|
||||
if checker.settings.preview.is_enabled() {
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
}
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
checker.diagnostics.push(diagnostic);
|
||||
}
|
||||
return true;
|
||||
|
@ -692,16 +690,15 @@ fn superfluous_else_node(
|
|||
.unwrap_or_else(|| elif_else.range()),
|
||||
);
|
||||
if checker.enabled(diagnostic.kind.rule()) {
|
||||
if checker.settings.preview.is_enabled() {
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
}
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
|
||||
checker.diagnostics.push(diagnostic);
|
||||
}
|
||||
return true;
|
||||
|
@ -712,16 +709,15 @@ fn superfluous_else_node(
|
|||
.unwrap_or_else(|| elif_else.range()),
|
||||
);
|
||||
if checker.enabled(diagnostic.kind.rule()) {
|
||||
if checker.settings.preview.is_enabled() {
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
}
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
|
||||
checker.diagnostics.push(diagnostic);
|
||||
}
|
||||
return true;
|
||||
|
@ -732,16 +728,15 @@ fn superfluous_else_node(
|
|||
.unwrap_or_else(|| elif_else.range()),
|
||||
);
|
||||
if checker.enabled(diagnostic.kind.rule()) {
|
||||
if checker.settings.preview.is_enabled() {
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
}
|
||||
diagnostic.try_set_fix(|| {
|
||||
remove_else(
|
||||
elif_else,
|
||||
checker.locator(),
|
||||
checker.indexer(),
|
||||
checker.stylist(),
|
||||
)
|
||||
});
|
||||
|
||||
checker.diagnostics.push(diagnostic);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET505.py:8:5: RET505 Unnecessary `elif` after `return` statement
|
||||
RET505.py:8:5: RET505 [*] Unnecessary `elif` after `return` statement
|
||||
|
|
||||
6 | a = 1
|
||||
7 | return y
|
||||
|
@ -12,7 +12,17 @@ RET505.py:8:5: RET505 Unnecessary `elif` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET505.py:23:5: RET505 Unnecessary `elif` after `return` statement
|
||||
ℹ Safe fix
|
||||
5 5 | if x: # [no-else-return]
|
||||
6 6 | a = 1
|
||||
7 7 | return y
|
||||
8 |- elif z:
|
||||
8 |+ if z:
|
||||
9 9 | b = 2
|
||||
10 10 | return w
|
||||
11 11 | else:
|
||||
|
||||
RET505.py:23:5: RET505 [*] Unnecessary `elif` after `return` statement
|
||||
|
|
||||
21 | b = 2
|
||||
22 | return
|
||||
|
@ -23,7 +33,17 @@ RET505.py:23:5: RET505 Unnecessary `elif` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET505.py:41:5: RET505 Unnecessary `elif` after `return` statement
|
||||
ℹ Safe fix
|
||||
20 20 | else:
|
||||
21 21 | b = 2
|
||||
22 22 | return
|
||||
23 |- elif z:
|
||||
23 |+ if z:
|
||||
24 24 | c = 2
|
||||
25 25 | else:
|
||||
26 26 | c = 3
|
||||
|
||||
RET505.py:41:5: RET505 [*] Unnecessary `elif` after `return` statement
|
||||
|
|
||||
39 | a = 1
|
||||
40 | return y
|
||||
|
@ -34,7 +54,17 @@ RET505.py:41:5: RET505 Unnecessary `elif` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET505.py:53:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
38 38 | if x: # [no-else-return]
|
||||
39 39 | a = 1
|
||||
40 40 | return y
|
||||
41 |- elif z:
|
||||
41 |+ if z:
|
||||
42 42 | b = 2
|
||||
43 43 | return w
|
||||
44 44 | else:
|
||||
|
||||
RET505.py:53:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
51 | a = 1
|
||||
52 | return y
|
||||
|
@ -45,7 +75,20 @@ RET505.py:53:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:64:9: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
50 50 | if x: # [no-else-return]
|
||||
51 51 | a = 1
|
||||
52 52 | return y
|
||||
53 |- else:
|
||||
54 |- b = 2
|
||||
55 |- return z
|
||||
53 |+ b = 2
|
||||
54 |+ return z
|
||||
56 55 |
|
||||
57 56 |
|
||||
58 57 | def foo3(x, y, z):
|
||||
|
||||
RET505.py:64:9: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
62 | b = 2
|
||||
63 | return y
|
||||
|
@ -56,7 +99,20 @@ RET505.py:64:9: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:79:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
61 61 | if y: # [no-else-return]
|
||||
62 62 | b = 2
|
||||
63 63 | return y
|
||||
64 |- else:
|
||||
65 |- c = 3
|
||||
66 |- return x
|
||||
64 |+ c = 3
|
||||
65 |+ return x
|
||||
67 66 | else:
|
||||
68 67 | d = 4
|
||||
69 68 | return z
|
||||
|
||||
RET505.py:79:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
77 | b = 2
|
||||
78 | return
|
||||
|
@ -67,7 +123,18 @@ RET505.py:79:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:89:9: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
76 76 | else:
|
||||
77 77 | b = 2
|
||||
78 78 | return
|
||||
79 |- else:
|
||||
80 |- c = 3
|
||||
79 |+ c = 3
|
||||
81 80 | return
|
||||
82 81 |
|
||||
83 82 |
|
||||
|
||||
RET505.py:89:9: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
87 | a = 4
|
||||
88 | return
|
||||
|
@ -78,7 +145,18 @@ RET505.py:89:9: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:99:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
86 86 | if y: # [no-else-return]
|
||||
87 87 | a = 4
|
||||
88 88 | return
|
||||
89 |- else:
|
||||
90 |- b = 2
|
||||
89 |+ b = 2
|
||||
91 90 | else:
|
||||
92 91 | c = 3
|
||||
93 92 | return
|
||||
|
||||
RET505.py:99:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
97 | if x: # [no-else-return]
|
||||
98 | return True
|
||||
|
@ -89,7 +167,24 @@ RET505.py:99:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:109:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
96 96 | def bar4(x):
|
||||
97 97 | if x: # [no-else-return]
|
||||
98 98 | return True
|
||||
99 |- else:
|
||||
100 |- try:
|
||||
101 |- return False
|
||||
102 |- except ValueError:
|
||||
103 |- return None
|
||||
99 |+ try:
|
||||
100 |+ return False
|
||||
101 |+ except ValueError:
|
||||
102 |+ return None
|
||||
104 103 |
|
||||
105 104 |
|
||||
106 105 | def fibo(n):
|
||||
|
||||
RET505.py:109:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
107 | if n<2:
|
||||
108 | return n;
|
||||
|
@ -100,7 +195,20 @@ RET505.py:109:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:145:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
106 106 | def fibo(n):
|
||||
107 107 | if n<2:
|
||||
108 108 | return n;
|
||||
109 |- else:
|
||||
110 |- last = 1;
|
||||
111 |- last2 = 0;
|
||||
109 |+ last = 1;
|
||||
110 |+ last2 = 0;
|
||||
112 111 |
|
||||
113 112 |
|
||||
114 113 | ###
|
||||
|
||||
RET505.py:145:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
143 | if True:
|
||||
144 | return
|
||||
|
@ -111,7 +219,20 @@ RET505.py:145:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:153:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
142 142 | def bar4(x):
|
||||
143 143 | if True:
|
||||
144 144 | return
|
||||
145 |- else:
|
||||
146 |- # comment
|
||||
147 |- pass
|
||||
145 |+ # comment
|
||||
146 |+ pass
|
||||
148 147 |
|
||||
149 148 |
|
||||
150 149 | def bar5():
|
||||
|
||||
RET505.py:153:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
151 | if True:
|
||||
152 | return
|
||||
|
@ -121,7 +242,19 @@ RET505.py:153:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:160:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
150 150 | def bar5():
|
||||
151 151 | if True:
|
||||
152 152 | return
|
||||
153 |- else: # comment
|
||||
154 |- pass
|
||||
153 |+ # comment
|
||||
154 |+ pass
|
||||
155 155 |
|
||||
156 156 |
|
||||
157 157 | def bar6():
|
||||
|
||||
RET505.py:160:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
158 | if True:
|
||||
159 | return
|
||||
|
@ -132,7 +265,21 @@ RET505.py:160:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:169:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
157 157 | def bar6():
|
||||
158 158 | if True:
|
||||
159 159 | return
|
||||
160 |- else\
|
||||
161 |- :\
|
||||
162 |- # comment
|
||||
163 |- pass
|
||||
160 |+ # comment
|
||||
161 |+ pass
|
||||
164 162 |
|
||||
165 163 |
|
||||
166 164 | def bar7():
|
||||
|
||||
RET505.py:169:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
167 | if True:
|
||||
168 | return
|
||||
|
@ -143,7 +290,20 @@ RET505.py:169:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:177:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
166 166 | def bar7():
|
||||
167 167 | if True:
|
||||
168 168 | return
|
||||
169 |- else\
|
||||
170 |- : # comment
|
||||
171 |- pass
|
||||
169 |+ # comment
|
||||
170 |+ pass
|
||||
172 171 |
|
||||
173 172 |
|
||||
174 173 | def bar8():
|
||||
|
||||
RET505.py:177:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
175 | if True:
|
||||
176 | return
|
||||
|
@ -152,7 +312,17 @@ RET505.py:177:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:183:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
174 174 | def bar8():
|
||||
175 175 | if True:
|
||||
176 176 | return
|
||||
177 |- else: pass
|
||||
177 |+ pass
|
||||
178 178 |
|
||||
179 179 |
|
||||
180 180 | def bar9():
|
||||
|
||||
RET505.py:183:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
181 | if True:
|
||||
182 | return
|
||||
|
@ -162,7 +332,18 @@ RET505.py:183:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:200:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
180 180 | def bar9():
|
||||
181 181 | if True:
|
||||
182 182 | return
|
||||
183 |- else:\
|
||||
184 |- pass
|
||||
183 |+ pass
|
||||
185 184 |
|
||||
186 185 |
|
||||
187 186 | x = 0
|
||||
|
||||
RET505.py:200:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
198 | def sb(self):
|
||||
199 | if self._sb is not None: return self._sb
|
||||
|
@ -171,7 +352,17 @@ RET505.py:200:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:207:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
197 197 | # Regression test for: https://github.com/astral-sh/ruff/issues/9732
|
||||
198 198 | def sb(self):
|
||||
199 199 | if self._sb is not None: return self._sb
|
||||
200 |- else: self._sb = '\033[01;%dm'; self._sa = '\033[0;0m';
|
||||
200 |+ self._sb = '\033[01;%dm'; self._sa = '\033[0;0m';
|
||||
201 201 |
|
||||
202 202 |
|
||||
203 203 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:207:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
205 | a = 1
|
||||
206 | return y
|
||||
|
@ -182,7 +373,21 @@ RET505.py:207:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:217:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
204 204 | if x: # [no-else-return]
|
||||
205 205 | a = 1
|
||||
206 206 | return y
|
||||
207 |- else:
|
||||
208 207 |
|
||||
209 |- c = 3
|
||||
210 |- return z
|
||||
208 |+ c = 3
|
||||
209 |+ return z
|
||||
211 210 |
|
||||
212 211 |
|
||||
213 212 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:217:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
215 | a = 1
|
||||
216 | return y
|
||||
|
@ -193,7 +398,22 @@ RET505.py:217:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:227:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
214 214 | if x: # [no-else-return]
|
||||
215 215 | a = 1
|
||||
216 216 | return y
|
||||
217 |- else:
|
||||
218 |- # comment
|
||||
219 |- c = 3
|
||||
220 |- return z
|
||||
217 |+ # comment
|
||||
218 |+ c = 3
|
||||
219 |+ return z
|
||||
221 220 |
|
||||
222 221 |
|
||||
223 222 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:227:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
225 | a = 1
|
||||
226 | return y
|
||||
|
@ -204,7 +424,22 @@ RET505.py:227:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:237:5: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
224 224 | if x: # [no-else-return]
|
||||
225 225 | a = 1
|
||||
226 226 | return y
|
||||
227 |- else:
|
||||
228 |- # comment
|
||||
229 |- c = 3
|
||||
230 |- return z
|
||||
227 |+ # comment
|
||||
228 |+ c = 3
|
||||
229 |+ return z
|
||||
231 230 |
|
||||
232 231 |
|
||||
233 232 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:237:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
235 | a = 1
|
||||
236 | return y
|
||||
|
@ -215,7 +450,21 @@ RET505.py:237:5: RET505 Unnecessary `else` after `return` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET505.py:245:2: RET505 Unnecessary `else` after `return` statement
|
||||
ℹ Safe fix
|
||||
234 234 | if x: # [no-else-return]
|
||||
235 235 | a = 1
|
||||
236 236 | return y
|
||||
237 |- else:
|
||||
238 237 | # comment
|
||||
239 |- c = 3
|
||||
240 |- return z
|
||||
238 |+ c = 3
|
||||
239 |+ return z
|
||||
241 240 |
|
||||
242 241 | def f():
|
||||
243 242 | if True:
|
||||
|
||||
RET505.py:245:2: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
243 | if True:
|
||||
244 | return True
|
||||
|
@ -224,3 +473,25 @@ RET505.py:245:2: RET505 Unnecessary `else` after `return` statement
|
|||
246 | return False
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
242 242 | def f():
|
||||
243 243 | if True:
|
||||
244 244 | return True
|
||||
245 |- else:
|
||||
246 |- return False
|
||||
245 |+ return False
|
||||
247 246 |
|
||||
248 247 |
|
||||
249 248 | def has_untracted_files():
|
||||
|
||||
RET505.py:252:5: RET505 Unnecessary `else` after `return` statement
|
||||
|
|
||||
250 | if b'Untracked files' in result.stdout:
|
||||
251 | return True
|
||||
252 | else:
|
||||
| ^^^^ RET505
|
||||
253 | \
|
||||
254 | return False
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET506.py:8:5: RET506 Unnecessary `elif` after `raise` statement
|
||||
RET506.py:8:5: RET506 [*] Unnecessary `elif` after `raise` statement
|
||||
|
|
||||
6 | a = 1
|
||||
7 | raise Exception(y)
|
||||
|
@ -12,7 +12,17 @@ RET506.py:8:5: RET506 Unnecessary `elif` after `raise` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET506.py:23:5: RET506 Unnecessary `elif` after `raise` statement
|
||||
ℹ Safe fix
|
||||
5 5 | if x: # [no-else-raise]
|
||||
6 6 | a = 1
|
||||
7 7 | raise Exception(y)
|
||||
8 |- elif z:
|
||||
8 |+ if z:
|
||||
9 9 | b = 2
|
||||
10 10 | raise Exception(w)
|
||||
11 11 | else:
|
||||
|
||||
RET506.py:23:5: RET506 [*] Unnecessary `elif` after `raise` statement
|
||||
|
|
||||
21 | b = 2
|
||||
22 | raise Exception(x)
|
||||
|
@ -23,7 +33,17 @@ RET506.py:23:5: RET506 Unnecessary `elif` after `raise` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET506.py:34:5: RET506 Unnecessary `else` after `raise` statement
|
||||
ℹ Safe fix
|
||||
20 20 | else:
|
||||
21 21 | b = 2
|
||||
22 22 | raise Exception(x)
|
||||
23 |- elif z:
|
||||
23 |+ if z:
|
||||
24 24 | raise Exception(y)
|
||||
25 25 | else:
|
||||
26 26 | c = 3
|
||||
|
||||
RET506.py:34:5: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
32 | a = 1
|
||||
33 | raise Exception(y)
|
||||
|
@ -34,7 +54,20 @@ RET506.py:34:5: RET506 Unnecessary `else` after `raise` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET506.py:45:9: RET506 Unnecessary `else` after `raise` statement
|
||||
ℹ Safe fix
|
||||
31 31 | if x: # [no-else-raise]
|
||||
32 32 | a = 1
|
||||
33 33 | raise Exception(y)
|
||||
34 |- else:
|
||||
35 |- b = 2
|
||||
36 |- raise Exception(z)
|
||||
34 |+ b = 2
|
||||
35 |+ raise Exception(z)
|
||||
37 36 |
|
||||
38 37 |
|
||||
39 38 | def foo3(x, y, z):
|
||||
|
||||
RET506.py:45:9: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
43 | b = 2
|
||||
44 | raise Exception(y)
|
||||
|
@ -45,7 +78,20 @@ RET506.py:45:9: RET506 Unnecessary `else` after `raise` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET506.py:60:5: RET506 Unnecessary `else` after `raise` statement
|
||||
ℹ Safe fix
|
||||
42 42 | if y: # [no-else-raise]
|
||||
43 43 | b = 2
|
||||
44 44 | raise Exception(y)
|
||||
45 |- else:
|
||||
46 |- c = 3
|
||||
47 |- raise Exception(x)
|
||||
45 |+ c = 3
|
||||
46 |+ raise Exception(x)
|
||||
48 47 | else:
|
||||
49 48 | d = 4
|
||||
50 49 | raise Exception(z)
|
||||
|
||||
RET506.py:60:5: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
58 | b = 2
|
||||
59 | raise Exception(x)
|
||||
|
@ -56,7 +102,18 @@ RET506.py:60:5: RET506 Unnecessary `else` after `raise` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET506.py:70:9: RET506 Unnecessary `else` after `raise` statement
|
||||
ℹ Safe fix
|
||||
57 57 | else:
|
||||
58 58 | b = 2
|
||||
59 59 | raise Exception(x)
|
||||
60 |- else:
|
||||
61 |- c = 3
|
||||
60 |+ c = 3
|
||||
62 61 | raise Exception(y)
|
||||
63 62 |
|
||||
64 63 |
|
||||
|
||||
RET506.py:70:9: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
68 | a = 4
|
||||
69 | raise Exception(x)
|
||||
|
@ -67,7 +124,18 @@ RET506.py:70:9: RET506 Unnecessary `else` after `raise` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET506.py:80:5: RET506 Unnecessary `else` after `raise` statement
|
||||
ℹ Safe fix
|
||||
67 67 | if y: # [no-else-raise]
|
||||
68 68 | a = 4
|
||||
69 69 | raise Exception(x)
|
||||
70 |- else:
|
||||
71 |- b = 2
|
||||
70 |+ b = 2
|
||||
72 71 | else:
|
||||
73 72 | c = 3
|
||||
74 73 | raise Exception(y)
|
||||
|
||||
RET506.py:80:5: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
78 | if x: # [no-else-raise]
|
||||
79 | raise Exception(True)
|
||||
|
@ -78,4 +146,19 @@ RET506.py:80:5: RET506 Unnecessary `else` after `raise` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
|
||||
ℹ Safe fix
|
||||
77 77 | def bar4(x):
|
||||
78 78 | if x: # [no-else-raise]
|
||||
79 79 | raise Exception(True)
|
||||
80 |- else:
|
||||
81 |- try:
|
||||
82 |- raise Exception(False)
|
||||
83 |- except ValueError:
|
||||
84 |- raise Exception(None)
|
||||
80 |+ try:
|
||||
81 |+ raise Exception(False)
|
||||
82 |+ except ValueError:
|
||||
83 |+ raise Exception(None)
|
||||
85 84 |
|
||||
86 85 |
|
||||
87 86 | ###
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET507.py:8:9: RET507 Unnecessary `elif` after `continue` statement
|
||||
RET507.py:8:9: RET507 [*] Unnecessary `elif` after `continue` statement
|
||||
|
|
||||
6 | if i < y: # [no-else-continue]
|
||||
7 | continue
|
||||
|
@ -12,7 +12,17 @@ RET507.py:8:9: RET507 Unnecessary `elif` after `continue` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET507.py:22:9: RET507 Unnecessary `elif` after `continue` statement
|
||||
ℹ Safe fix
|
||||
5 5 | for i in x:
|
||||
6 6 | if i < y: # [no-else-continue]
|
||||
7 7 | continue
|
||||
8 |- elif i < w:
|
||||
8 |+ if i < w:
|
||||
9 9 | continue
|
||||
10 10 | else:
|
||||
11 11 | a = z
|
||||
|
||||
RET507.py:22:9: RET507 [*] Unnecessary `elif` after `continue` statement
|
||||
|
|
||||
20 | b = 2
|
||||
21 | continue
|
||||
|
@ -23,7 +33,17 @@ RET507.py:22:9: RET507 Unnecessary `elif` after `continue` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET507.py:36:9: RET507 Unnecessary `else` after `continue` statement
|
||||
ℹ Safe fix
|
||||
19 19 | else:
|
||||
20 20 | b = 2
|
||||
21 21 | continue
|
||||
22 |- elif z:
|
||||
22 |+ if z:
|
||||
23 23 | c = 2
|
||||
24 24 | else:
|
||||
25 25 | c = 3
|
||||
|
||||
RET507.py:36:9: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
34 | if i < y: # [no-else-continue]
|
||||
35 | continue
|
||||
|
@ -33,7 +53,18 @@ RET507.py:36:9: RET507 Unnecessary `else` after `continue` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET507.py:47:13: RET507 Unnecessary `else` after `continue` statement
|
||||
ℹ Safe fix
|
||||
33 33 | for i in x:
|
||||
34 34 | if i < y: # [no-else-continue]
|
||||
35 35 | continue
|
||||
36 |- else:
|
||||
37 |- a = z
|
||||
36 |+ a = z
|
||||
38 37 |
|
||||
39 38 |
|
||||
40 39 | def foo3(x, y, z):
|
||||
|
||||
RET507.py:47:13: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
45 | b = 2
|
||||
46 | continue
|
||||
|
@ -44,7 +75,20 @@ RET507.py:47:13: RET507 Unnecessary `else` after `continue` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET507.py:63:9: RET507 Unnecessary `else` after `continue` statement
|
||||
ℹ Safe fix
|
||||
44 44 | if z: # [no-else-continue]
|
||||
45 45 | b = 2
|
||||
46 46 | continue
|
||||
47 |- else:
|
||||
48 |- c = 3
|
||||
49 |- continue
|
||||
47 |+ c = 3
|
||||
48 |+ continue
|
||||
50 49 | else:
|
||||
51 50 | d = 4
|
||||
52 51 | continue
|
||||
|
||||
RET507.py:63:9: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
61 | b = 2
|
||||
62 | continue
|
||||
|
@ -55,7 +99,18 @@ RET507.py:63:9: RET507 Unnecessary `else` after `continue` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET507.py:74:13: RET507 Unnecessary `else` after `continue` statement
|
||||
ℹ Safe fix
|
||||
60 60 | else:
|
||||
61 61 | b = 2
|
||||
62 62 | continue
|
||||
63 |- else:
|
||||
64 |- c = 3
|
||||
63 |+ c = 3
|
||||
65 64 | continue
|
||||
66 65 |
|
||||
67 66 |
|
||||
|
||||
RET507.py:74:13: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
72 | a = 4
|
||||
73 | continue
|
||||
|
@ -66,7 +121,18 @@ RET507.py:74:13: RET507 Unnecessary `else` after `continue` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET507.py:85:9: RET507 Unnecessary `else` after `continue` statement
|
||||
ℹ Safe fix
|
||||
71 71 | if y: # [no-else-continue]
|
||||
72 72 | a = 4
|
||||
73 73 | continue
|
||||
74 |- else:
|
||||
75 |- b = 2
|
||||
74 |+ b = 2
|
||||
76 75 | else:
|
||||
77 76 | c = 3
|
||||
78 77 | continue
|
||||
|
||||
RET507.py:85:9: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
83 | if x: # [no-else-continue]
|
||||
84 | continue
|
||||
|
@ -77,4 +143,19 @@ RET507.py:85:9: RET507 Unnecessary `else` after `continue` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
|
||||
ℹ Safe fix
|
||||
82 82 | for i in range(10):
|
||||
83 83 | if x: # [no-else-continue]
|
||||
84 84 | continue
|
||||
85 |- else:
|
||||
86 |- try:
|
||||
87 |- return
|
||||
88 |- except ValueError:
|
||||
89 |- continue
|
||||
85 |+ try:
|
||||
86 |+ return
|
||||
87 |+ except ValueError:
|
||||
88 |+ continue
|
||||
90 89 |
|
||||
91 90 |
|
||||
92 91 | def bar1(x, y, z):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET508.py:8:9: RET508 Unnecessary `elif` after `break` statement
|
||||
RET508.py:8:9: RET508 [*] Unnecessary `elif` after `break` statement
|
||||
|
|
||||
6 | if i > y: # [no-else-break]
|
||||
7 | break
|
||||
|
@ -12,7 +12,17 @@ RET508.py:8:9: RET508 Unnecessary `elif` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET508.py:22:9: RET508 Unnecessary `elif` after `break` statement
|
||||
ℹ Safe fix
|
||||
5 5 | for i in x:
|
||||
6 6 | if i > y: # [no-else-break]
|
||||
7 7 | break
|
||||
8 |- elif i > w:
|
||||
8 |+ if i > w:
|
||||
9 9 | break
|
||||
10 10 | else:
|
||||
11 11 | a = z
|
||||
|
||||
RET508.py:22:9: RET508 [*] Unnecessary `elif` after `break` statement
|
||||
|
|
||||
20 | b = 2
|
||||
21 | break
|
||||
|
@ -23,7 +33,17 @@ RET508.py:22:9: RET508 Unnecessary `elif` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
RET508.py:33:9: RET508 Unnecessary `else` after `break` statement
|
||||
ℹ Safe fix
|
||||
19 19 | else:
|
||||
20 20 | b = 2
|
||||
21 21 | break
|
||||
22 |- elif z:
|
||||
22 |+ if z:
|
||||
23 23 | c = 2
|
||||
24 24 | else:
|
||||
25 25 | c = 3
|
||||
|
||||
RET508.py:33:9: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
31 | if i > y: # [no-else-break]
|
||||
32 | break
|
||||
|
@ -33,7 +53,18 @@ RET508.py:33:9: RET508 Unnecessary `else` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET508.py:44:13: RET508 Unnecessary `else` after `break` statement
|
||||
ℹ Safe fix
|
||||
30 30 | for i in x:
|
||||
31 31 | if i > y: # [no-else-break]
|
||||
32 32 | break
|
||||
33 |- else:
|
||||
34 |- a = z
|
||||
33 |+ a = z
|
||||
35 34 |
|
||||
36 35 |
|
||||
37 36 | def foo3(x, y, z):
|
||||
|
||||
RET508.py:44:13: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
42 | b = 2
|
||||
43 | break
|
||||
|
@ -44,7 +75,20 @@ RET508.py:44:13: RET508 Unnecessary `else` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET508.py:60:9: RET508 Unnecessary `else` after `break` statement
|
||||
ℹ Safe fix
|
||||
41 41 | if z: # [no-else-break]
|
||||
42 42 | b = 2
|
||||
43 43 | break
|
||||
44 |- else:
|
||||
45 |- c = 3
|
||||
46 |- break
|
||||
44 |+ c = 3
|
||||
45 |+ break
|
||||
47 46 | else:
|
||||
48 47 | d = 4
|
||||
49 48 | break
|
||||
|
||||
RET508.py:60:9: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
58 | b = 2
|
||||
59 | break
|
||||
|
@ -55,7 +99,18 @@ RET508.py:60:9: RET508 Unnecessary `else` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET508.py:71:13: RET508 Unnecessary `else` after `break` statement
|
||||
ℹ Safe fix
|
||||
57 57 | else:
|
||||
58 58 | b = 2
|
||||
59 59 | break
|
||||
60 |- else:
|
||||
61 |- c = 3
|
||||
60 |+ c = 3
|
||||
62 61 | break
|
||||
63 62 |
|
||||
64 63 |
|
||||
|
||||
RET508.py:71:13: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
69 | a = 4
|
||||
70 | break
|
||||
|
@ -66,7 +121,18 @@ RET508.py:71:13: RET508 Unnecessary `else` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET508.py:82:9: RET508 Unnecessary `else` after `break` statement
|
||||
ℹ Safe fix
|
||||
68 68 | if y: # [no-else-break]
|
||||
69 69 | a = 4
|
||||
70 70 | break
|
||||
71 |- else:
|
||||
72 |- b = 2
|
||||
71 |+ b = 2
|
||||
73 72 | else:
|
||||
74 73 | c = 3
|
||||
75 74 | break
|
||||
|
||||
RET508.py:82:9: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
80 | if x: # [no-else-break]
|
||||
81 | break
|
||||
|
@ -77,7 +143,24 @@ RET508.py:82:9: RET508 Unnecessary `else` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
RET508.py:158:13: RET508 Unnecessary `else` after `break` statement
|
||||
ℹ Safe fix
|
||||
79 79 | for i in range(10):
|
||||
80 80 | if x: # [no-else-break]
|
||||
81 81 | break
|
||||
82 |- else:
|
||||
83 |- try:
|
||||
84 |- return
|
||||
85 |- except ValueError:
|
||||
86 |- break
|
||||
82 |+ try:
|
||||
83 |+ return
|
||||
84 |+ except ValueError:
|
||||
85 |+ break
|
||||
87 86 |
|
||||
88 87 |
|
||||
89 88 | ###
|
||||
|
||||
RET508.py:158:13: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
156 | if i > w:
|
||||
157 | break
|
||||
|
@ -87,4 +170,10 @@ RET508.py:158:13: RET508 Unnecessary `else` after `break` statement
|
|||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
|
||||
ℹ Safe fix
|
||||
155 155 | else:
|
||||
156 156 | if i > w:
|
||||
157 157 | break
|
||||
158 |- else:
|
||||
159 |- a = z
|
||||
158 |+ a = z
|
||||
|
|
|
@ -1,483 +0,0 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET505.py:8:5: RET505 [*] Unnecessary `elif` after `return` statement
|
||||
|
|
||||
6 | a = 1
|
||||
7 | return y
|
||||
8 | elif z:
|
||||
| ^^^^ RET505
|
||||
9 | b = 2
|
||||
10 | return w
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
5 5 | if x: # [no-else-return]
|
||||
6 6 | a = 1
|
||||
7 7 | return y
|
||||
8 |- elif z:
|
||||
8 |+ if z:
|
||||
9 9 | b = 2
|
||||
10 10 | return w
|
||||
11 11 | else:
|
||||
|
||||
RET505.py:23:5: RET505 [*] Unnecessary `elif` after `return` statement
|
||||
|
|
||||
21 | b = 2
|
||||
22 | return
|
||||
23 | elif z:
|
||||
| ^^^^ RET505
|
||||
24 | c = 2
|
||||
25 | else:
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
20 20 | else:
|
||||
21 21 | b = 2
|
||||
22 22 | return
|
||||
23 |- elif z:
|
||||
23 |+ if z:
|
||||
24 24 | c = 2
|
||||
25 25 | else:
|
||||
26 26 | c = 3
|
||||
|
||||
RET505.py:41:5: RET505 [*] Unnecessary `elif` after `return` statement
|
||||
|
|
||||
39 | a = 1
|
||||
40 | return y
|
||||
41 | elif z:
|
||||
| ^^^^ RET505
|
||||
42 | b = 2
|
||||
43 | return w
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
38 38 | if x: # [no-else-return]
|
||||
39 39 | a = 1
|
||||
40 40 | return y
|
||||
41 |- elif z:
|
||||
41 |+ if z:
|
||||
42 42 | b = 2
|
||||
43 43 | return w
|
||||
44 44 | else:
|
||||
|
||||
RET505.py:53:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
51 | a = 1
|
||||
52 | return y
|
||||
53 | else:
|
||||
| ^^^^ RET505
|
||||
54 | b = 2
|
||||
55 | return z
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
50 50 | if x: # [no-else-return]
|
||||
51 51 | a = 1
|
||||
52 52 | return y
|
||||
53 |- else:
|
||||
54 |- b = 2
|
||||
55 |- return z
|
||||
53 |+ b = 2
|
||||
54 |+ return z
|
||||
56 55 |
|
||||
57 56 |
|
||||
58 57 | def foo3(x, y, z):
|
||||
|
||||
RET505.py:64:9: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
62 | b = 2
|
||||
63 | return y
|
||||
64 | else:
|
||||
| ^^^^ RET505
|
||||
65 | c = 3
|
||||
66 | return x
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
61 61 | if y: # [no-else-return]
|
||||
62 62 | b = 2
|
||||
63 63 | return y
|
||||
64 |- else:
|
||||
65 |- c = 3
|
||||
66 |- return x
|
||||
64 |+ c = 3
|
||||
65 |+ return x
|
||||
67 66 | else:
|
||||
68 67 | d = 4
|
||||
69 68 | return z
|
||||
|
||||
RET505.py:79:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
77 | b = 2
|
||||
78 | return
|
||||
79 | else:
|
||||
| ^^^^ RET505
|
||||
80 | c = 3
|
||||
81 | return
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
76 76 | else:
|
||||
77 77 | b = 2
|
||||
78 78 | return
|
||||
79 |- else:
|
||||
80 |- c = 3
|
||||
79 |+ c = 3
|
||||
81 80 | return
|
||||
82 81 |
|
||||
83 82 |
|
||||
|
||||
RET505.py:89:9: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
87 | a = 4
|
||||
88 | return
|
||||
89 | else:
|
||||
| ^^^^ RET505
|
||||
90 | b = 2
|
||||
91 | else:
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
86 86 | if y: # [no-else-return]
|
||||
87 87 | a = 4
|
||||
88 88 | return
|
||||
89 |- else:
|
||||
90 |- b = 2
|
||||
89 |+ b = 2
|
||||
91 90 | else:
|
||||
92 91 | c = 3
|
||||
93 92 | return
|
||||
|
||||
RET505.py:99:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
97 | if x: # [no-else-return]
|
||||
98 | return True
|
||||
99 | else:
|
||||
| ^^^^ RET505
|
||||
100 | try:
|
||||
101 | return False
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
96 96 | def bar4(x):
|
||||
97 97 | if x: # [no-else-return]
|
||||
98 98 | return True
|
||||
99 |- else:
|
||||
100 |- try:
|
||||
101 |- return False
|
||||
102 |- except ValueError:
|
||||
103 |- return None
|
||||
99 |+ try:
|
||||
100 |+ return False
|
||||
101 |+ except ValueError:
|
||||
102 |+ return None
|
||||
104 103 |
|
||||
105 104 |
|
||||
106 105 | def fibo(n):
|
||||
|
||||
RET505.py:109:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
107 | if n<2:
|
||||
108 | return n;
|
||||
109 | else:
|
||||
| ^^^^ RET505
|
||||
110 | last = 1;
|
||||
111 | last2 = 0;
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
106 106 | def fibo(n):
|
||||
107 107 | if n<2:
|
||||
108 108 | return n;
|
||||
109 |- else:
|
||||
110 |- last = 1;
|
||||
111 |- last2 = 0;
|
||||
109 |+ last = 1;
|
||||
110 |+ last2 = 0;
|
||||
112 111 |
|
||||
113 112 |
|
||||
114 113 | ###
|
||||
|
||||
RET505.py:145:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
143 | if True:
|
||||
144 | return
|
||||
145 | else:
|
||||
| ^^^^ RET505
|
||||
146 | # comment
|
||||
147 | pass
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
142 142 | def bar4(x):
|
||||
143 143 | if True:
|
||||
144 144 | return
|
||||
145 |- else:
|
||||
146 |- # comment
|
||||
147 |- pass
|
||||
145 |+ # comment
|
||||
146 |+ pass
|
||||
148 147 |
|
||||
149 148 |
|
||||
150 149 | def bar5():
|
||||
|
||||
RET505.py:153:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
151 | if True:
|
||||
152 | return
|
||||
153 | else: # comment
|
||||
| ^^^^ RET505
|
||||
154 | pass
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
150 150 | def bar5():
|
||||
151 151 | if True:
|
||||
152 152 | return
|
||||
153 |- else: # comment
|
||||
154 |- pass
|
||||
153 |+ # comment
|
||||
154 |+ pass
|
||||
155 155 |
|
||||
156 156 |
|
||||
157 157 | def bar6():
|
||||
|
||||
RET505.py:160:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
158 | if True:
|
||||
159 | return
|
||||
160 | else\
|
||||
| ^^^^ RET505
|
||||
161 | :\
|
||||
162 | # comment
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
157 157 | def bar6():
|
||||
158 158 | if True:
|
||||
159 159 | return
|
||||
160 |- else\
|
||||
161 |- :\
|
||||
162 |- # comment
|
||||
163 |- pass
|
||||
160 |+ # comment
|
||||
161 |+ pass
|
||||
164 162 |
|
||||
165 163 |
|
||||
166 164 | def bar7():
|
||||
|
||||
RET505.py:169:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
167 | if True:
|
||||
168 | return
|
||||
169 | else\
|
||||
| ^^^^ RET505
|
||||
170 | : # comment
|
||||
171 | pass
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
166 166 | def bar7():
|
||||
167 167 | if True:
|
||||
168 168 | return
|
||||
169 |- else\
|
||||
170 |- : # comment
|
||||
171 |- pass
|
||||
169 |+ # comment
|
||||
170 |+ pass
|
||||
172 171 |
|
||||
173 172 |
|
||||
174 173 | def bar8():
|
||||
|
||||
RET505.py:177:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
175 | if True:
|
||||
176 | return
|
||||
177 | else: pass
|
||||
| ^^^^ RET505
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
174 174 | def bar8():
|
||||
175 175 | if True:
|
||||
176 176 | return
|
||||
177 |- else: pass
|
||||
177 |+ pass
|
||||
178 178 |
|
||||
179 179 |
|
||||
180 180 | def bar9():
|
||||
|
||||
RET505.py:183:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
181 | if True:
|
||||
182 | return
|
||||
183 | else:\
|
||||
| ^^^^ RET505
|
||||
184 | pass
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
180 180 | def bar9():
|
||||
181 181 | if True:
|
||||
182 182 | return
|
||||
183 |- else:\
|
||||
184 |- pass
|
||||
183 |+ pass
|
||||
185 184 |
|
||||
186 185 |
|
||||
187 186 | x = 0
|
||||
|
||||
RET505.py:200:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
198 | def sb(self):
|
||||
199 | if self._sb is not None: return self._sb
|
||||
200 | else: self._sb = '\033[01;%dm'; self._sa = '\033[0;0m';
|
||||
| ^^^^ RET505
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
197 197 | # Regression test for: https://github.com/astral-sh/ruff/issues/9732
|
||||
198 198 | def sb(self):
|
||||
199 199 | if self._sb is not None: return self._sb
|
||||
200 |- else: self._sb = '\033[01;%dm'; self._sa = '\033[0;0m';
|
||||
200 |+ self._sb = '\033[01;%dm'; self._sa = '\033[0;0m';
|
||||
201 201 |
|
||||
202 202 |
|
||||
203 203 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:207:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
205 | a = 1
|
||||
206 | return y
|
||||
207 | else:
|
||||
| ^^^^ RET505
|
||||
208 |
|
||||
209 | c = 3
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
204 204 | if x: # [no-else-return]
|
||||
205 205 | a = 1
|
||||
206 206 | return y
|
||||
207 |- else:
|
||||
208 207 |
|
||||
209 |- c = 3
|
||||
210 |- return z
|
||||
208 |+ c = 3
|
||||
209 |+ return z
|
||||
211 210 |
|
||||
212 211 |
|
||||
213 212 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:217:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
215 | a = 1
|
||||
216 | return y
|
||||
217 | else:
|
||||
| ^^^^ RET505
|
||||
218 | # comment
|
||||
219 | c = 3
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
214 214 | if x: # [no-else-return]
|
||||
215 215 | a = 1
|
||||
216 216 | return y
|
||||
217 |- else:
|
||||
218 |- # comment
|
||||
219 |- c = 3
|
||||
220 |- return z
|
||||
217 |+ # comment
|
||||
218 |+ c = 3
|
||||
219 |+ return z
|
||||
221 220 |
|
||||
222 221 |
|
||||
223 222 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:227:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
225 | a = 1
|
||||
226 | return y
|
||||
227 | else:
|
||||
| ^^^^ RET505
|
||||
228 | # comment
|
||||
229 | c = 3
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
224 224 | if x: # [no-else-return]
|
||||
225 225 | a = 1
|
||||
226 226 | return y
|
||||
227 |- else:
|
||||
228 |- # comment
|
||||
229 |- c = 3
|
||||
230 |- return z
|
||||
227 |+ # comment
|
||||
228 |+ c = 3
|
||||
229 |+ return z
|
||||
231 230 |
|
||||
232 231 |
|
||||
233 232 | def indent(x, y, w, z):
|
||||
|
||||
RET505.py:237:5: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
235 | a = 1
|
||||
236 | return y
|
||||
237 | else:
|
||||
| ^^^^ RET505
|
||||
238 | # comment
|
||||
239 | c = 3
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
234 234 | if x: # [no-else-return]
|
||||
235 235 | a = 1
|
||||
236 236 | return y
|
||||
237 |- else:
|
||||
238 237 | # comment
|
||||
239 |- c = 3
|
||||
240 |- return z
|
||||
238 |+ c = 3
|
||||
239 |+ return z
|
||||
241 240 |
|
||||
242 241 | def f():
|
||||
243 242 | if True:
|
||||
|
||||
RET505.py:245:2: RET505 [*] Unnecessary `else` after `return` statement
|
||||
|
|
||||
243 | if True:
|
||||
244 | return True
|
||||
245 | else:
|
||||
| ^^^^ RET505
|
||||
246 | return False
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
242 242 | def f():
|
||||
243 243 | if True:
|
||||
244 244 | return True
|
||||
245 |- else:
|
||||
246 |- return False
|
||||
245 |+ return False
|
|
@ -1,166 +0,0 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET506.py:8:5: RET506 [*] Unnecessary `elif` after `raise` statement
|
||||
|
|
||||
6 | a = 1
|
||||
7 | raise Exception(y)
|
||||
8 | elif z:
|
||||
| ^^^^ RET506
|
||||
9 | b = 2
|
||||
10 | raise Exception(w)
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
5 5 | if x: # [no-else-raise]
|
||||
6 6 | a = 1
|
||||
7 7 | raise Exception(y)
|
||||
8 |- elif z:
|
||||
8 |+ if z:
|
||||
9 9 | b = 2
|
||||
10 10 | raise Exception(w)
|
||||
11 11 | else:
|
||||
|
||||
RET506.py:23:5: RET506 [*] Unnecessary `elif` after `raise` statement
|
||||
|
|
||||
21 | b = 2
|
||||
22 | raise Exception(x)
|
||||
23 | elif z:
|
||||
| ^^^^ RET506
|
||||
24 | raise Exception(y)
|
||||
25 | else:
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
20 20 | else:
|
||||
21 21 | b = 2
|
||||
22 22 | raise Exception(x)
|
||||
23 |- elif z:
|
||||
23 |+ if z:
|
||||
24 24 | raise Exception(y)
|
||||
25 25 | else:
|
||||
26 26 | c = 3
|
||||
|
||||
RET506.py:34:5: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
32 | a = 1
|
||||
33 | raise Exception(y)
|
||||
34 | else:
|
||||
| ^^^^ RET506
|
||||
35 | b = 2
|
||||
36 | raise Exception(z)
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
31 31 | if x: # [no-else-raise]
|
||||
32 32 | a = 1
|
||||
33 33 | raise Exception(y)
|
||||
34 |- else:
|
||||
35 |- b = 2
|
||||
36 |- raise Exception(z)
|
||||
34 |+ b = 2
|
||||
35 |+ raise Exception(z)
|
||||
37 36 |
|
||||
38 37 |
|
||||
39 38 | def foo3(x, y, z):
|
||||
|
||||
RET506.py:45:9: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
43 | b = 2
|
||||
44 | raise Exception(y)
|
||||
45 | else:
|
||||
| ^^^^ RET506
|
||||
46 | c = 3
|
||||
47 | raise Exception(x)
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
42 42 | if y: # [no-else-raise]
|
||||
43 43 | b = 2
|
||||
44 44 | raise Exception(y)
|
||||
45 |- else:
|
||||
46 |- c = 3
|
||||
47 |- raise Exception(x)
|
||||
45 |+ c = 3
|
||||
46 |+ raise Exception(x)
|
||||
48 47 | else:
|
||||
49 48 | d = 4
|
||||
50 49 | raise Exception(z)
|
||||
|
||||
RET506.py:60:5: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
58 | b = 2
|
||||
59 | raise Exception(x)
|
||||
60 | else:
|
||||
| ^^^^ RET506
|
||||
61 | c = 3
|
||||
62 | raise Exception(y)
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
57 57 | else:
|
||||
58 58 | b = 2
|
||||
59 59 | raise Exception(x)
|
||||
60 |- else:
|
||||
61 |- c = 3
|
||||
60 |+ c = 3
|
||||
62 61 | raise Exception(y)
|
||||
63 62 |
|
||||
64 63 |
|
||||
|
||||
RET506.py:70:9: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
68 | a = 4
|
||||
69 | raise Exception(x)
|
||||
70 | else:
|
||||
| ^^^^ RET506
|
||||
71 | b = 2
|
||||
72 | else:
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
67 67 | if y: # [no-else-raise]
|
||||
68 68 | a = 4
|
||||
69 69 | raise Exception(x)
|
||||
70 |- else:
|
||||
71 |- b = 2
|
||||
70 |+ b = 2
|
||||
72 71 | else:
|
||||
73 72 | c = 3
|
||||
74 73 | raise Exception(y)
|
||||
|
||||
RET506.py:80:5: RET506 [*] Unnecessary `else` after `raise` statement
|
||||
|
|
||||
78 | if x: # [no-else-raise]
|
||||
79 | raise Exception(True)
|
||||
80 | else:
|
||||
| ^^^^ RET506
|
||||
81 | try:
|
||||
82 | raise Exception(False)
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
77 77 | def bar4(x):
|
||||
78 78 | if x: # [no-else-raise]
|
||||
79 79 | raise Exception(True)
|
||||
80 |- else:
|
||||
81 |- try:
|
||||
82 |- raise Exception(False)
|
||||
83 |- except ValueError:
|
||||
84 |- raise Exception(None)
|
||||
80 |+ try:
|
||||
81 |+ raise Exception(False)
|
||||
82 |+ except ValueError:
|
||||
83 |+ raise Exception(None)
|
||||
85 84 |
|
||||
86 85 |
|
||||
87 86 | ###
|
||||
|
||||
|
|
@ -1,163 +0,0 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET507.py:8:9: RET507 [*] Unnecessary `elif` after `continue` statement
|
||||
|
|
||||
6 | if i < y: # [no-else-continue]
|
||||
7 | continue
|
||||
8 | elif i < w:
|
||||
| ^^^^ RET507
|
||||
9 | continue
|
||||
10 | else:
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
5 5 | for i in x:
|
||||
6 6 | if i < y: # [no-else-continue]
|
||||
7 7 | continue
|
||||
8 |- elif i < w:
|
||||
8 |+ if i < w:
|
||||
9 9 | continue
|
||||
10 10 | else:
|
||||
11 11 | a = z
|
||||
|
||||
RET507.py:22:9: RET507 [*] Unnecessary `elif` after `continue` statement
|
||||
|
|
||||
20 | b = 2
|
||||
21 | continue
|
||||
22 | elif z:
|
||||
| ^^^^ RET507
|
||||
23 | c = 2
|
||||
24 | else:
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
19 19 | else:
|
||||
20 20 | b = 2
|
||||
21 21 | continue
|
||||
22 |- elif z:
|
||||
22 |+ if z:
|
||||
23 23 | c = 2
|
||||
24 24 | else:
|
||||
25 25 | c = 3
|
||||
|
||||
RET507.py:36:9: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
34 | if i < y: # [no-else-continue]
|
||||
35 | continue
|
||||
36 | else:
|
||||
| ^^^^ RET507
|
||||
37 | a = z
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
33 33 | for i in x:
|
||||
34 34 | if i < y: # [no-else-continue]
|
||||
35 35 | continue
|
||||
36 |- else:
|
||||
37 |- a = z
|
||||
36 |+ a = z
|
||||
38 37 |
|
||||
39 38 |
|
||||
40 39 | def foo3(x, y, z):
|
||||
|
||||
RET507.py:47:13: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
45 | b = 2
|
||||
46 | continue
|
||||
47 | else:
|
||||
| ^^^^ RET507
|
||||
48 | c = 3
|
||||
49 | continue
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
44 44 | if z: # [no-else-continue]
|
||||
45 45 | b = 2
|
||||
46 46 | continue
|
||||
47 |- else:
|
||||
48 |- c = 3
|
||||
49 |- continue
|
||||
47 |+ c = 3
|
||||
48 |+ continue
|
||||
50 49 | else:
|
||||
51 50 | d = 4
|
||||
52 51 | continue
|
||||
|
||||
RET507.py:63:9: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
61 | b = 2
|
||||
62 | continue
|
||||
63 | else:
|
||||
| ^^^^ RET507
|
||||
64 | c = 3
|
||||
65 | continue
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
60 60 | else:
|
||||
61 61 | b = 2
|
||||
62 62 | continue
|
||||
63 |- else:
|
||||
64 |- c = 3
|
||||
63 |+ c = 3
|
||||
65 64 | continue
|
||||
66 65 |
|
||||
67 66 |
|
||||
|
||||
RET507.py:74:13: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
72 | a = 4
|
||||
73 | continue
|
||||
74 | else:
|
||||
| ^^^^ RET507
|
||||
75 | b = 2
|
||||
76 | else:
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
71 71 | if y: # [no-else-continue]
|
||||
72 72 | a = 4
|
||||
73 73 | continue
|
||||
74 |- else:
|
||||
75 |- b = 2
|
||||
74 |+ b = 2
|
||||
76 75 | else:
|
||||
77 76 | c = 3
|
||||
78 77 | continue
|
||||
|
||||
RET507.py:85:9: RET507 [*] Unnecessary `else` after `continue` statement
|
||||
|
|
||||
83 | if x: # [no-else-continue]
|
||||
84 | continue
|
||||
85 | else:
|
||||
| ^^^^ RET507
|
||||
86 | try:
|
||||
87 | return
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
82 82 | for i in range(10):
|
||||
83 83 | if x: # [no-else-continue]
|
||||
84 84 | continue
|
||||
85 |- else:
|
||||
86 |- try:
|
||||
87 |- return
|
||||
88 |- except ValueError:
|
||||
89 |- continue
|
||||
85 |+ try:
|
||||
86 |+ return
|
||||
87 |+ except ValueError:
|
||||
88 |+ continue
|
||||
90 89 |
|
||||
91 90 |
|
||||
92 91 | def bar1(x, y, z):
|
||||
|
||||
|
|
@ -1,181 +0,0 @@
|
|||
---
|
||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
||||
---
|
||||
RET508.py:8:9: RET508 [*] Unnecessary `elif` after `break` statement
|
||||
|
|
||||
6 | if i > y: # [no-else-break]
|
||||
7 | break
|
||||
8 | elif i > w:
|
||||
| ^^^^ RET508
|
||||
9 | break
|
||||
10 | else:
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
5 5 | for i in x:
|
||||
6 6 | if i > y: # [no-else-break]
|
||||
7 7 | break
|
||||
8 |- elif i > w:
|
||||
8 |+ if i > w:
|
||||
9 9 | break
|
||||
10 10 | else:
|
||||
11 11 | a = z
|
||||
|
||||
RET508.py:22:9: RET508 [*] Unnecessary `elif` after `break` statement
|
||||
|
|
||||
20 | b = 2
|
||||
21 | break
|
||||
22 | elif z:
|
||||
| ^^^^ RET508
|
||||
23 | c = 2
|
||||
24 | else:
|
||||
|
|
||||
= help: Remove unnecessary `elif`
|
||||
|
||||
ℹ Safe fix
|
||||
19 19 | else:
|
||||
20 20 | b = 2
|
||||
21 21 | break
|
||||
22 |- elif z:
|
||||
22 |+ if z:
|
||||
23 23 | c = 2
|
||||
24 24 | else:
|
||||
25 25 | c = 3
|
||||
|
||||
RET508.py:33:9: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
31 | if i > y: # [no-else-break]
|
||||
32 | break
|
||||
33 | else:
|
||||
| ^^^^ RET508
|
||||
34 | a = z
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
30 30 | for i in x:
|
||||
31 31 | if i > y: # [no-else-break]
|
||||
32 32 | break
|
||||
33 |- else:
|
||||
34 |- a = z
|
||||
33 |+ a = z
|
||||
35 34 |
|
||||
36 35 |
|
||||
37 36 | def foo3(x, y, z):
|
||||
|
||||
RET508.py:44:13: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
42 | b = 2
|
||||
43 | break
|
||||
44 | else:
|
||||
| ^^^^ RET508
|
||||
45 | c = 3
|
||||
46 | break
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
41 41 | if z: # [no-else-break]
|
||||
42 42 | b = 2
|
||||
43 43 | break
|
||||
44 |- else:
|
||||
45 |- c = 3
|
||||
46 |- break
|
||||
44 |+ c = 3
|
||||
45 |+ break
|
||||
47 46 | else:
|
||||
48 47 | d = 4
|
||||
49 48 | break
|
||||
|
||||
RET508.py:60:9: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
58 | b = 2
|
||||
59 | break
|
||||
60 | else:
|
||||
| ^^^^ RET508
|
||||
61 | c = 3
|
||||
62 | break
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
57 57 | else:
|
||||
58 58 | b = 2
|
||||
59 59 | break
|
||||
60 |- else:
|
||||
61 |- c = 3
|
||||
60 |+ c = 3
|
||||
62 61 | break
|
||||
63 62 |
|
||||
64 63 |
|
||||
|
||||
RET508.py:71:13: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
69 | a = 4
|
||||
70 | break
|
||||
71 | else:
|
||||
| ^^^^ RET508
|
||||
72 | b = 2
|
||||
73 | else:
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
68 68 | if y: # [no-else-break]
|
||||
69 69 | a = 4
|
||||
70 70 | break
|
||||
71 |- else:
|
||||
72 |- b = 2
|
||||
71 |+ b = 2
|
||||
73 72 | else:
|
||||
74 73 | c = 3
|
||||
75 74 | break
|
||||
|
||||
RET508.py:82:9: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
80 | if x: # [no-else-break]
|
||||
81 | break
|
||||
82 | else:
|
||||
| ^^^^ RET508
|
||||
83 | try:
|
||||
84 | return
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
79 79 | for i in range(10):
|
||||
80 80 | if x: # [no-else-break]
|
||||
81 81 | break
|
||||
82 |- else:
|
||||
83 |- try:
|
||||
84 |- return
|
||||
85 |- except ValueError:
|
||||
86 |- break
|
||||
82 |+ try:
|
||||
83 |+ return
|
||||
84 |+ except ValueError:
|
||||
85 |+ break
|
||||
87 86 |
|
||||
88 87 |
|
||||
89 88 | ###
|
||||
|
||||
RET508.py:158:13: RET508 [*] Unnecessary `else` after `break` statement
|
||||
|
|
||||
156 | if i > w:
|
||||
157 | break
|
||||
158 | else:
|
||||
| ^^^^ RET508
|
||||
159 | a = z
|
||||
|
|
||||
= help: Remove unnecessary `else`
|
||||
|
||||
ℹ Safe fix
|
||||
155 155 | else:
|
||||
156 156 | if i > w:
|
||||
157 157 | break
|
||||
158 |- else:
|
||||
159 |- a = z
|
||||
158 |+ a = z
|
||||
|
||||
|
|
@ -137,7 +137,7 @@ pub fn dedent(text: &str) -> Cow<'_, str> {
|
|||
///
|
||||
/// # Panics
|
||||
/// If the first line is indented by less than the provided indent.
|
||||
pub fn dedent_to(text: &str, indent: &str) -> String {
|
||||
pub fn dedent_to(text: &str, indent: &str) -> Option<String> {
|
||||
// Look at the indentation of the first non-empty line, to determine the "baseline" indentation.
|
||||
let existing_indent_len = text
|
||||
.universal_newlines()
|
||||
|
@ -151,6 +151,10 @@ pub fn dedent_to(text: &str, indent: &str) -> String {
|
|||
})
|
||||
.unwrap_or_default();
|
||||
|
||||
if existing_indent_len < indent.len() {
|
||||
return None;
|
||||
}
|
||||
|
||||
// Determine the amount of indentation to remove.
|
||||
let dedent_len = existing_indent_len - indent.len();
|
||||
|
||||
|
@ -173,7 +177,7 @@ pub fn dedent_to(text: &str, indent: &str) -> String {
|
|||
}
|
||||
}
|
||||
}
|
||||
result
|
||||
Some(result)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
@ -414,7 +418,7 @@ mod tests {
|
|||
"",
|
||||
" baz"
|
||||
].join("\n");
|
||||
assert_eq!(dedent_to(&x, " "), y);
|
||||
assert_eq!(dedent_to(&x, " "), Some(y));
|
||||
|
||||
let x = [
|
||||
" foo",
|
||||
|
@ -426,6 +430,6 @@ mod tests {
|
|||
" bar",
|
||||
"baz"
|
||||
].join("\n");
|
||||
assert_eq!(dedent_to(&x, ""), y);
|
||||
assert_eq!(dedent_to(&x, ""), Some(y));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue