mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-30 13:51:16 +00:00
parent
7defc0d136
commit
eb9c7ae869
13 changed files with 642 additions and 1106 deletions
|
@ -244,3 +244,11 @@ def f():
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def has_untracted_files():
|
||||||
|
if b'Untracked files' in result.stdout:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
\
|
||||||
|
return False
|
||||||
|
|
|
@ -317,7 +317,13 @@ pub(crate) fn adjust_indentation(
|
||||||
line_indentation.contains('\t') && line_indentation.contains(' ')
|
line_indentation.contains('\t') && line_indentation.contains(' ')
|
||||||
});
|
});
|
||||||
|
|
||||||
if contains_multiline_string || mixed_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 module_text = format!("def f():{}{contents}", stylist.line_ending().as_str());
|
||||||
|
|
||||||
let mut tree = match_statement(&module_text)?;
|
let mut tree = match_statement(&module_text)?;
|
||||||
|
@ -333,10 +339,6 @@ pub(crate) fn adjust_indentation(
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.to_string();
|
.to_string();
|
||||||
Ok(module_text)
|
Ok(module_text)
|
||||||
} else {
|
|
||||||
// Otherwise, we can do a simple adjustment ourselves.
|
|
||||||
Ok(dedent_to(contents, indentation))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Determine if a vector contains only one, specific element.
|
/// 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::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<()> {
|
fn preview_rules(rule_code: Rule, path: &Path) -> Result<()> {
|
||||||
let snapshot = format!(
|
let snapshot = format!(
|
||||||
"preview__{}_{}",
|
"preview__{}_{}",
|
||||||
|
|
|
@ -672,7 +672,6 @@ fn superfluous_else_node(
|
||||||
.unwrap_or_else(|| elif_else.range()),
|
.unwrap_or_else(|| elif_else.range()),
|
||||||
);
|
);
|
||||||
if checker.enabled(diagnostic.kind.rule()) {
|
if checker.enabled(diagnostic.kind.rule()) {
|
||||||
if checker.settings.preview.is_enabled() {
|
|
||||||
diagnostic.try_set_fix(|| {
|
diagnostic.try_set_fix(|| {
|
||||||
remove_else(
|
remove_else(
|
||||||
elif_else,
|
elif_else,
|
||||||
|
@ -681,7 +680,6 @@ fn superfluous_else_node(
|
||||||
checker.stylist(),
|
checker.stylist(),
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
}
|
|
||||||
checker.diagnostics.push(diagnostic);
|
checker.diagnostics.push(diagnostic);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -692,7 +690,6 @@ fn superfluous_else_node(
|
||||||
.unwrap_or_else(|| elif_else.range()),
|
.unwrap_or_else(|| elif_else.range()),
|
||||||
);
|
);
|
||||||
if checker.enabled(diagnostic.kind.rule()) {
|
if checker.enabled(diagnostic.kind.rule()) {
|
||||||
if checker.settings.preview.is_enabled() {
|
|
||||||
diagnostic.try_set_fix(|| {
|
diagnostic.try_set_fix(|| {
|
||||||
remove_else(
|
remove_else(
|
||||||
elif_else,
|
elif_else,
|
||||||
|
@ -701,7 +698,7 @@ fn superfluous_else_node(
|
||||||
checker.stylist(),
|
checker.stylist(),
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
}
|
|
||||||
checker.diagnostics.push(diagnostic);
|
checker.diagnostics.push(diagnostic);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -712,7 +709,6 @@ fn superfluous_else_node(
|
||||||
.unwrap_or_else(|| elif_else.range()),
|
.unwrap_or_else(|| elif_else.range()),
|
||||||
);
|
);
|
||||||
if checker.enabled(diagnostic.kind.rule()) {
|
if checker.enabled(diagnostic.kind.rule()) {
|
||||||
if checker.settings.preview.is_enabled() {
|
|
||||||
diagnostic.try_set_fix(|| {
|
diagnostic.try_set_fix(|| {
|
||||||
remove_else(
|
remove_else(
|
||||||
elif_else,
|
elif_else,
|
||||||
|
@ -721,7 +717,7 @@ fn superfluous_else_node(
|
||||||
checker.stylist(),
|
checker.stylist(),
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
}
|
|
||||||
checker.diagnostics.push(diagnostic);
|
checker.diagnostics.push(diagnostic);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -732,7 +728,6 @@ fn superfluous_else_node(
|
||||||
.unwrap_or_else(|| elif_else.range()),
|
.unwrap_or_else(|| elif_else.range()),
|
||||||
);
|
);
|
||||||
if checker.enabled(diagnostic.kind.rule()) {
|
if checker.enabled(diagnostic.kind.rule()) {
|
||||||
if checker.settings.preview.is_enabled() {
|
|
||||||
diagnostic.try_set_fix(|| {
|
diagnostic.try_set_fix(|| {
|
||||||
remove_else(
|
remove_else(
|
||||||
elif_else,
|
elif_else,
|
||||||
|
@ -741,7 +736,7 @@ fn superfluous_else_node(
|
||||||
checker.stylist(),
|
checker.stylist(),
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
}
|
|
||||||
checker.diagnostics.push(diagnostic);
|
checker.diagnostics.push(diagnostic);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_return/mod.rs
|
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
|
6 | a = 1
|
||||||
7 | return y
|
7 | return y
|
||||||
|
@ -12,7 +12,17 @@ RET505.py:8:5: RET505 Unnecessary `elif` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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
|
21 | b = 2
|
||||||
22 | return
|
22 | return
|
||||||
|
@ -23,7 +33,17 @@ RET505.py:23:5: RET505 Unnecessary `elif` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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
|
39 | a = 1
|
||||||
40 | return y
|
40 | return y
|
||||||
|
@ -34,7 +54,17 @@ RET505.py:41:5: RET505 Unnecessary `elif` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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
|
51 | a = 1
|
||||||
52 | return y
|
52 | return y
|
||||||
|
@ -45,7 +75,20 @@ RET505.py:53:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
62 | b = 2
|
||||||
63 | return y
|
63 | return y
|
||||||
|
@ -56,7 +99,20 @@ RET505.py:64:9: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
77 | b = 2
|
||||||
78 | return
|
78 | return
|
||||||
|
@ -67,7 +123,18 @@ RET505.py:79:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
87 | a = 4
|
||||||
88 | return
|
88 | return
|
||||||
|
@ -78,7 +145,18 @@ RET505.py:89:9: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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]
|
97 | if x: # [no-else-return]
|
||||||
98 | return True
|
98 | return True
|
||||||
|
@ -89,7 +167,24 @@ RET505.py:99:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
107 | if n<2:
|
||||||
108 | return n;
|
108 | return n;
|
||||||
|
@ -100,7 +195,20 @@ RET505.py:109:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
143 | if True:
|
||||||
144 | return
|
144 | return
|
||||||
|
@ -111,7 +219,20 @@ RET505.py:145:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
151 | if True:
|
||||||
152 | return
|
152 | return
|
||||||
|
@ -121,7 +242,19 @@ RET505.py:153:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
158 | if True:
|
||||||
159 | return
|
159 | return
|
||||||
|
@ -132,7 +265,21 @@ RET505.py:160:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
167 | if True:
|
||||||
168 | return
|
168 | return
|
||||||
|
@ -143,7 +290,20 @@ RET505.py:169:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
175 | if True:
|
||||||
176 | return
|
176 | return
|
||||||
|
@ -152,7 +312,17 @@ RET505.py:177:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
181 | if True:
|
||||||
182 | return
|
182 | return
|
||||||
|
@ -162,7 +332,18 @@ RET505.py:183:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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):
|
198 | def sb(self):
|
||||||
199 | if self._sb is not None: return self._sb
|
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`
|
= 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
|
205 | a = 1
|
||||||
206 | return y
|
206 | return y
|
||||||
|
@ -182,7 +373,21 @@ RET505.py:207:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
215 | a = 1
|
||||||
216 | return y
|
216 | return y
|
||||||
|
@ -193,7 +398,22 @@ RET505.py:217:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
225 | a = 1
|
||||||
226 | return y
|
226 | return y
|
||||||
|
@ -204,7 +424,22 @@ RET505.py:227:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
235 | a = 1
|
||||||
236 | return y
|
236 | return y
|
||||||
|
@ -215,7 +450,21 @@ RET505.py:237:5: RET505 Unnecessary `else` after `return` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
243 | if True:
|
||||||
244 | return True
|
244 | return True
|
||||||
|
@ -224,3 +473,25 @@ RET505.py:245:2: RET505 Unnecessary `else` after `return` statement
|
||||||
246 | return False
|
246 | return False
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
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
|
6 | a = 1
|
||||||
7 | raise Exception(y)
|
7 | raise Exception(y)
|
||||||
|
@ -12,7 +12,17 @@ RET506.py:8:5: RET506 Unnecessary `elif` after `raise` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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
|
21 | b = 2
|
||||||
22 | raise Exception(x)
|
22 | raise Exception(x)
|
||||||
|
@ -23,7 +33,17 @@ RET506.py:23:5: RET506 Unnecessary `elif` after `raise` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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
|
32 | a = 1
|
||||||
33 | raise Exception(y)
|
33 | raise Exception(y)
|
||||||
|
@ -34,7 +54,20 @@ RET506.py:34:5: RET506 Unnecessary `else` after `raise` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
43 | b = 2
|
||||||
44 | raise Exception(y)
|
44 | raise Exception(y)
|
||||||
|
@ -45,7 +78,20 @@ RET506.py:45:9: RET506 Unnecessary `else` after `raise` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
58 | b = 2
|
||||||
59 | raise Exception(x)
|
59 | raise Exception(x)
|
||||||
|
@ -56,7 +102,18 @@ RET506.py:60:5: RET506 Unnecessary `else` after `raise` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
68 | a = 4
|
||||||
69 | raise Exception(x)
|
69 | raise Exception(x)
|
||||||
|
@ -67,7 +124,18 @@ RET506.py:70:9: RET506 Unnecessary `else` after `raise` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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]
|
78 | if x: # [no-else-raise]
|
||||||
79 | raise Exception(True)
|
79 | raise Exception(True)
|
||||||
|
@ -78,4 +146,19 @@ RET506.py:80:5: RET506 Unnecessary `else` after `raise` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
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]
|
6 | if i < y: # [no-else-continue]
|
||||||
7 | continue
|
7 | continue
|
||||||
|
@ -12,7 +12,17 @@ RET507.py:8:9: RET507 Unnecessary `elif` after `continue` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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
|
20 | b = 2
|
||||||
21 | continue
|
21 | continue
|
||||||
|
@ -23,7 +33,17 @@ RET507.py:22:9: RET507 Unnecessary `elif` after `continue` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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]
|
34 | if i < y: # [no-else-continue]
|
||||||
35 | continue
|
35 | continue
|
||||||
|
@ -33,7 +53,18 @@ RET507.py:36:9: RET507 Unnecessary `else` after `continue` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
45 | b = 2
|
||||||
46 | continue
|
46 | continue
|
||||||
|
@ -44,7 +75,20 @@ RET507.py:47:13: RET507 Unnecessary `else` after `continue` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
61 | b = 2
|
||||||
62 | continue
|
62 | continue
|
||||||
|
@ -55,7 +99,18 @@ RET507.py:63:9: RET507 Unnecessary `else` after `continue` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
72 | a = 4
|
||||||
73 | continue
|
73 | continue
|
||||||
|
@ -66,7 +121,18 @@ RET507.py:74:13: RET507 Unnecessary `else` after `continue` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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]
|
83 | if x: # [no-else-continue]
|
||||||
84 | continue
|
84 | continue
|
||||||
|
@ -77,4 +143,19 @@ RET507.py:85:9: RET507 Unnecessary `else` after `continue` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
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]
|
6 | if i > y: # [no-else-break]
|
||||||
7 | break
|
7 | break
|
||||||
|
@ -12,7 +12,17 @@ RET508.py:8:9: RET508 Unnecessary `elif` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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
|
20 | b = 2
|
||||||
21 | break
|
21 | break
|
||||||
|
@ -23,7 +33,17 @@ RET508.py:22:9: RET508 Unnecessary `elif` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `elif`
|
= 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]
|
31 | if i > y: # [no-else-break]
|
||||||
32 | break
|
32 | break
|
||||||
|
@ -33,7 +53,18 @@ RET508.py:33:9: RET508 Unnecessary `else` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
42 | b = 2
|
||||||
43 | break
|
43 | break
|
||||||
|
@ -44,7 +75,20 @@ RET508.py:44:13: RET508 Unnecessary `else` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
58 | b = 2
|
||||||
59 | break
|
59 | break
|
||||||
|
@ -55,7 +99,18 @@ RET508.py:60:9: RET508 Unnecessary `else` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
69 | a = 4
|
||||||
70 | break
|
70 | break
|
||||||
|
@ -66,7 +121,18 @@ RET508.py:71:13: RET508 Unnecessary `else` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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]
|
80 | if x: # [no-else-break]
|
||||||
81 | break
|
81 | break
|
||||||
|
@ -77,7 +143,24 @@ RET508.py:82:9: RET508 Unnecessary `else` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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:
|
156 | if i > w:
|
||||||
157 | break
|
157 | break
|
||||||
|
@ -87,4 +170,10 @@ RET508.py:158:13: RET508 Unnecessary `else` after `break` statement
|
||||||
|
|
|
|
||||||
= help: Remove unnecessary `else`
|
= 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
|
/// # Panics
|
||||||
/// If the first line is indented by less than the provided indent.
|
/// 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.
|
// Look at the indentation of the first non-empty line, to determine the "baseline" indentation.
|
||||||
let existing_indent_len = text
|
let existing_indent_len = text
|
||||||
.universal_newlines()
|
.universal_newlines()
|
||||||
|
@ -151,6 +151,10 @@ pub fn dedent_to(text: &str, indent: &str) -> String {
|
||||||
})
|
})
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
|
|
||||||
|
if existing_indent_len < indent.len() {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
// Determine the amount of indentation to remove.
|
// Determine the amount of indentation to remove.
|
||||||
let dedent_len = existing_indent_len - indent.len();
|
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)]
|
#[cfg(test)]
|
||||||
|
@ -414,7 +418,7 @@ mod tests {
|
||||||
"",
|
"",
|
||||||
" baz"
|
" baz"
|
||||||
].join("\n");
|
].join("\n");
|
||||||
assert_eq!(dedent_to(&x, " "), y);
|
assert_eq!(dedent_to(&x, " "), Some(y));
|
||||||
|
|
||||||
let x = [
|
let x = [
|
||||||
" foo",
|
" foo",
|
||||||
|
@ -426,6 +430,6 @@ mod tests {
|
||||||
" bar",
|
" bar",
|
||||||
"baz"
|
"baz"
|
||||||
].join("\n");
|
].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