Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/replace_if_let_with_match.rs')
-rw-r--r--crates/ide-assists/src/handlers/replace_if_let_with_match.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/ide-assists/src/handlers/replace_if_let_with_match.rs b/crates/ide-assists/src/handlers/replace_if_let_with_match.rs
index 1a1da6564a..95c7db2662 100644
--- a/crates/ide-assists/src/handlers/replace_if_let_with_match.rs
+++ b/crates/ide-assists/src/handlers/replace_if_let_with_match.rs
@@ -114,17 +114,15 @@ pub(crate) fn replace_if_let_with_match(acc: &mut Assists, ctx: &AssistContext<'
let make_match_arm = |(pat, body): (_, ast::BlockExpr)| {
let body = body.reset_indent().indent(IndentLevel(1));
match pat {
- Either::Left(pat) => {
- make::match_arm(iter::once(pat), None, unwrap_trivial_block(body))
- }
+ Either::Left(pat) => make::match_arm(pat, None, unwrap_trivial_block(body)),
Either::Right(_) if !pat_seen => make::match_arm(
- iter::once(make::literal_pat("true").into()),
+ make::literal_pat("true").into(),
None,
unwrap_trivial_block(body),
),
Either::Right(expr) => make::match_arm(
- iter::once(make::wildcard_pat().into()),
- Some(expr),
+ make::wildcard_pat().into(),
+ Some(make::match_guard(expr)),
unwrap_trivial_block(body),
),
}
@@ -181,7 +179,7 @@ fn make_else_arm(
};
(pattern, make::ext::expr_unit())
};
- make::match_arm(iter::once(pattern), None, expr)
+ make::match_arm(pattern, None, expr)
}
// Assist: replace_match_with_if_let