Skip to content

Commit 1de65a2

Browse files
ytmimicalebcartwright
authored andcommitted
wrap else to next line if let-else pattern is multi-lined
This rule wasn't explicity stated in the style guide so it was missed, but luckily we caught it during testing.
1 parent 7b4e8a6 commit 1de65a2

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

src/items.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ impl Rewrite for ast::Local {
127127

128128
if let Some(block) = else_block {
129129
let else_kw_span = init.span.between(block.span);
130-
let force_newline_else =
131-
!same_line_else_kw_and_brace(&result, context, else_kw_span, nested_shape);
130+
let force_newline_else = pat_str.contains('\n')
131+
|| !same_line_else_kw_and_brace(&result, context, else_kw_span, nested_shape);
132132
let else_kw = rewrite_else_kw_with_comments(
133133
force_newline_else,
134134
true,

tests/target/configs/single_line_let_else_max_width/100.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ fn main() {
2424
upper,
2525
step,
2626
range: _,
27-
}) = slice.as_ref() else {
27+
}) = slice.as_ref()
28+
else {
2829
return;
2930
};
3031

tests/target/configs/single_line_let_else_max_width/50.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ fn main() {
2626
upper,
2727
step,
2828
range: _,
29-
}) = slice.as_ref() else {
29+
}) = slice.as_ref()
30+
else {
3031
return;
3132
};
3233

tests/target/configs/single_line_let_else_max_width/zero.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ fn main() {
3030
upper,
3131
step,
3232
range: _,
33-
}) = slice.as_ref() else {
33+
}) = slice.as_ref()
34+
else {
3435
return;
3536
};
3637

0 commit comments

Comments
 (0)