Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_assists/src/utils.rs')
| -rw-r--r-- | crates/ide_assists/src/utils.rs | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/crates/ide_assists/src/utils.rs b/crates/ide_assists/src/utils.rs index dfb22afc7e..3d4ab968fb 100644 --- a/crates/ide_assists/src/utils.rs +++ b/crates/ide_assists/src/utils.rs @@ -250,13 +250,10 @@ fn invert_special_case(expr: &ast::Expr) -> Option<ast::Expr> { }; Some(make::expr_method_call(receiver, make::name_ref(method), arg_list)) } - ast::Expr::PrefixExpr(pe) if pe.op_kind()? == ast::UnaryOp::Not => { - if let ast::Expr::ParenExpr(parexpr) = pe.expr()? { - parexpr.expr() - } else { - pe.expr() - } - } + ast::Expr::PrefixExpr(pe) if pe.op_kind()? == ast::UnaryOp::Not => match pe.expr()? { + ast::Expr::ParenExpr(parexpr) => parexpr.expr(), + _ => pe.expr(), + }, ast::Expr::Literal(lit) => match lit.kind() { ast::LiteralKind::Bool(b) => match b { true => Some(ast::Expr::Literal(make::expr_literal("false"))), @@ -276,13 +273,10 @@ pub(crate) fn does_pat_match_variant(pat: &ast::Pat, var: &ast::Pat) -> bool { let first_node_text = |pat: &ast::Pat| pat.syntax().first_child().map(|node| node.text()); let pat_head = match pat { - ast::Pat::IdentPat(bind_pat) => { - if let Some(p) = bind_pat.pat() { - first_node_text(&p) - } else { - return pat.syntax().text() == var.syntax().text(); - } - } + ast::Pat::IdentPat(bind_pat) => match bind_pat.pat() { + Some(p) => first_node_text(&p), + None => return pat.syntax().text() == var.syntax().text(), + }, pat => first_node_text(pat), }; |