diff options
| author | Masato Sogame <poketo7878@gmail.com> | 2022-08-31 18:29:58 +0900 |
|---|---|---|
| committer | Pocket7878 <poketo7878@gmail.com> | 2022-08-31 18:47:45 +0900 |
| commit | 5a1b45dcc157f41cbabf8f93fa1641bc4e29af60 (patch) | |
| tree | 0f7aa7fe0f971697b57d83a51d4c38a9d80558fc | |
| parent | a5d2463b1d0ee286218e428ca6f0ee53d72e3788 (diff) | |
| download | rust-5a1b45dcc157f41cbabf8f93fa1641bc4e29af60.tar.gz rust-5a1b45dcc157f41cbabf8f93fa1641bc4e29af60.zip | |
feature: Simplfy branch check logics
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
| -rw-r--r-- | crates/ide-assists/src/handlers/convert_two_arm_bool_match_to_matches_macro.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/crates/ide-assists/src/handlers/convert_two_arm_bool_match_to_matches_macro.rs b/crates/ide-assists/src/handlers/convert_two_arm_bool_match_to_matches_macro.rs index 5278fe5303a..68fe81f67b0 100644 --- a/crates/ide-assists/src/handlers/convert_two_arm_bool_match_to_matches_macro.rs +++ b/crates/ide-assists/src/handlers/convert_two_arm_bool_match_to_matches_macro.rs @@ -26,23 +26,23 @@ pub(crate) fn convert_two_arm_bool_match_to_matches_macro( ) -> Option<()> { let match_expr = ctx.find_node_at_offset::<ast::MatchExpr>()?; let match_arm_list = match_expr.match_arm_list()?; - if match_arm_list.arms().count() != 2 { + let mut arms = match_arm_list.arms(); + let first_arm = arms.next()?; + let second_arm = arms.next()?; + if arms.next().is_some() { cov_mark::hit!(non_two_arm_match); return None; } - - let first_arm = match_arm_list.arms().next()?; let first_arm_expr = first_arm.expr(); - let invert_matches; - if is_bool_literal_expr(&first_arm_expr, true) { - invert_matches = false; + let invert_matches = if is_bool_literal_expr(&first_arm_expr, true) { + false } else if is_bool_literal_expr(&first_arm_expr, false) { - invert_matches = true; + true } else { cov_mark::hit!(non_bool_literal_match); return None; - } + }; let target_range = ctx.sema.original_range(match_expr.syntax()).range; let expr = match_expr.expr()?; |
