diff options
| author | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-20 01:39:23 +0200 |
|---|---|---|
| committer | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-22 15:03:18 +0200 |
| commit | 51426954182661dbe82424f790cb2b53b6a720d2 (patch) | |
| tree | 76936848c82509b17e380801952f3922f29acea8 | |
| parent | 8a969f709034375eed5d13dee6b44b31fcef2cf5 (diff) | |
| download | rust-51426954182661dbe82424f790cb2b53b6a720d2.tar.gz rust-51426954182661dbe82424f790cb2b53b6a720d2.zip | |
misc: rewrite as `if let`
| -rw-r--r-- | clippy_lints/src/entry.rs | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/clippy_lints/src/entry.rs b/clippy_lints/src/entry.rs index 4e24f69357d..dd38aab6e3f 100644 --- a/clippy_lints/src/entry.rs +++ b/clippy_lints/src/entry.rs @@ -254,33 +254,34 @@ fn try_parse_contains<'tcx>(cx: &LateContext<'_>, expr: &'tcx Expr<'_>) -> Optio _ => None, }); - match expr.kind { - ExprKind::MethodCall( - _, + if let ExprKind::MethodCall( + _, + map, + [ + Expr { + kind: ExprKind::AddrOf(_, _, key), + span: key_span, + .. + }, + ], + _, + ) = expr.kind + && key_span.eq_ctxt(expr.span) + { + let id = cx.typeck_results().type_dependent_def_id(expr.hir_id)?; + let expr = ContainsExpr { + negated, map, - [ - Expr { - kind: ExprKind::AddrOf(_, _, key), - span: key_span, - .. - }, - ], - _, - ) if key_span.eq_ctxt(expr.span) => { - let id = cx.typeck_results().type_dependent_def_id(expr.hir_id)?; - let expr = ContainsExpr { - negated, - map, - key, - call_ctxt: expr.span.ctxt(), - }; - match cx.tcx.get_diagnostic_name(id) { - Some(sym::btreemap_contains_key) => Some((MapType::BTree, expr)), - Some(sym::hashmap_contains_key) => Some((MapType::Hash, expr)), - _ => None, - } - }, - _ => None, + key, + call_ctxt: expr.span.ctxt(), + }; + match cx.tcx.get_diagnostic_name(id) { + Some(sym::btreemap_contains_key) => Some((MapType::BTree, expr)), + Some(sym::hashmap_contains_key) => Some((MapType::Hash, expr)), + _ => None, + } + } else { + None } } |
