Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/unmerge_match_arm.rs')
-rw-r--r--crates/ide-assists/src/handlers/unmerge_match_arm.rs10
1 files changed, 3 insertions, 7 deletions
diff --git a/crates/ide-assists/src/handlers/unmerge_match_arm.rs b/crates/ide-assists/src/handlers/unmerge_match_arm.rs
index c6cffb5434..6b9f661d4d 100644
--- a/crates/ide-assists/src/handlers/unmerge_match_arm.rs
+++ b/crates/ide-assists/src/handlers/unmerge_match_arm.rs
@@ -54,13 +54,9 @@ pub(crate) fn unmerge_match_arm(acc: &mut Assists, ctx: &AssistContext<'_>) -> O
let pats_after = pipe_token
.siblings_with_tokens(Direction::Next)
.filter_map(|it| ast::Pat::cast(it.into_node()?));
- // FIXME: We should add a leading pipe if the original arm has one.
- let new_match_arm = make::match_arm(
- pats_after,
- match_arm.guard().and_then(|guard| guard.condition()),
- match_arm_body,
- )
- .clone_for_update();
+ let new_pat = make::or_pat(pats_after, or_pat.leading_pipe().is_some());
+ let new_match_arm =
+ make::match_arm(new_pat, match_arm.guard(), match_arm_body).clone_for_update();
let mut pipe_index = pipe_token.index();
if pipe_token