From d1ca5f1d7cb83793b729cfa5199a451594eec042 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sat, 21 Dec 2019 18:38:45 +0000 Subject: [PATCH] rustup "Merge `ast::Mutability` and `mir::Mutability`" --- clippy_lints/src/functions.rs | 4 ++-- clippy_lints/src/loops.rs | 20 +++++++++---------- clippy_lints/src/matches.rs | 2 +- clippy_lints/src/mem_replace.rs | 2 +- clippy_lints/src/methods/mod.rs | 14 ++++++------- clippy_lints/src/misc.rs | 4 ++-- clippy_lints/src/mut_mut.rs | 10 +++++----- clippy_lints/src/mut_reference.rs | 7 +++---- clippy_lints/src/mutable_debug_assertion.rs | 4 ++-- clippy_lints/src/needless_borrow.rs | 6 +++--- clippy_lints/src/needless_borrowed_ref.rs | 2 +- clippy_lints/src/ptr.rs | 6 +++--- clippy_lints/src/transmute.rs | 6 +++--- .../src/trivially_copy_pass_by_ref.rs | 2 +- clippy_lints/src/types.rs | 6 +++--- clippy_lints/src/utils/internal_lints.rs | 4 ++-- tests/ui/author/for_loop.stdout | 2 +- 17 files changed, 49 insertions(+), 52 deletions(-) diff --git a/clippy_lints/src/functions.rs b/clippy_lints/src/functions.rs index c4471be34c58..19e5aace557a 100644 --- a/clippy_lints/src/functions.rs +++ b/clippy_lints/src/functions.rs @@ -553,7 +553,7 @@ fn is_mutable_ty<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx>, span: Span, Tuple(ref substs) => substs.types().any(|ty| is_mutable_ty(cx, ty, span, tys)), Array(ty, _) | Slice(ty) => is_mutable_ty(cx, ty, span, tys), RawPtr(ty::TypeAndMut { ty, mutbl }) | Ref(_, ty, mutbl) => { - mutbl == hir::Mutability::Mutable || is_mutable_ty(cx, ty, span, tys) + mutbl == hir::Mutability::Mut || is_mutable_ty(cx, ty, span, tys) }, // calling something constitutes a side effect, so return true on all callables // also never calls need not be used, so return true for them, too @@ -658,7 +658,7 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for StaticMutVisitor<'a, 'tcx> { tys.clear(); } }, - Assign(ref target, _) | AssignOp(_, ref target, _) | AddrOf(_, hir::Mutability::Mutable, ref target) => { + Assign(ref target, _) | AssignOp(_, ref target, _) | AddrOf(_, hir::Mutability::Mut, ref target) => { self.mutates_static |= is_mutated_static(self.cx, target) }, _ => {}, diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index 740605c9e366..706d102177e5 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -1507,8 +1507,8 @@ fn make_iterator_snippet(cx: &LateContext<'_, '_>, arg: &Expr, applic_ref: &mut if has_iter_method(cx, cx.tables.expr_ty(&arg_inner)).is_some() => { let meth_name = match mutability { - Mutability::Mutable => "iter_mut", - Mutability::Immutable => "iter", + Mutability::Mut => "iter_mut", + Mutability::Not => "iter", }; format!( "{}.{}()", @@ -1540,14 +1540,14 @@ fn check_for_loop_over_map_kv<'a, 'tcx>( let (new_pat_span, kind, ty, mutbl) = match cx.tables.expr_ty(arg).kind { ty::Ref(_, ty, mutbl) => match (&pat[0].kind, &pat[1].kind) { (key, _) if pat_is_wild(key, body) => (pat[1].span, "value", ty, mutbl), - (_, value) if pat_is_wild(value, body) => (pat[0].span, "key", ty, Mutability::Immutable), + (_, value) if pat_is_wild(value, body) => (pat[0].span, "key", ty, Mutability::Not), _ => return, }, _ => return, }; let mutbl = match mutbl { - Mutability::Immutable => "", - Mutability::Mutable => "_mut", + Mutability::Not => "", + Mutability::Mut => "_mut", }; let arg = match arg.kind { ExprKind::AddrOf(BorrowKind::Ref, _, ref expr) => &**expr, @@ -1868,7 +1868,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> { self.visit_expr(rhs); }, ExprKind::AddrOf(BorrowKind::Ref, mutbl, ref expr) => { - if mutbl == Mutability::Mutable { + if mutbl == Mutability::Mut { self.prefer_mutable = true; } self.visit_expr(expr); @@ -1879,7 +1879,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> { let ty = self.cx.tables.expr_ty_adjusted(expr); self.prefer_mutable = false; if let ty::Ref(_, _, mutbl) = ty.kind { - if mutbl == Mutability::Mutable { + if mutbl == Mutability::Mut { self.prefer_mutable = true; } } @@ -1891,7 +1891,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> { for (ty, expr) in self.cx.tcx.fn_sig(def_id).inputs().skip_binder().iter().zip(args) { self.prefer_mutable = false; if let ty::Ref(_, _, mutbl) = ty.kind { - if mutbl == Mutability::Mutable { + if mutbl == Mutability::Mut { self.prefer_mutable = true; } } @@ -2084,7 +2084,7 @@ impl<'a, 'tcx> Visitor<'tcx> for IncrementVisitor<'a, 'tcx> { } }, ExprKind::Assign(ref lhs, _) if lhs.hir_id == expr.hir_id => *state = VarState::DontWarn, - ExprKind::AddrOf(BorrowKind::Ref, mutability, _) if mutability == Mutability::Mutable => { + ExprKind::AddrOf(BorrowKind::Ref, mutability, _) if mutability == Mutability::Mut => { *state = VarState::DontWarn }, _ => (), @@ -2168,7 +2168,7 @@ impl<'a, 'tcx> Visitor<'tcx> for InitializeVisitor<'a, 'tcx> { VarState::DontWarn } }, - ExprKind::AddrOf(BorrowKind::Ref, mutability, _) if mutability == Mutability::Mutable => { + ExprKind::AddrOf(BorrowKind::Ref, mutability, _) if mutability == Mutability::Mut => { self.state = VarState::DontWarn }, _ => (), diff --git a/clippy_lints/src/matches.rs b/clippy_lints/src/matches.rs index 75f867471a38..cf7650d02bf4 100644 --- a/clippy_lints/src/matches.rs +++ b/clippy_lints/src/matches.rs @@ -571,7 +571,7 @@ fn is_panic_block(block: &Block) -> bool { fn check_match_ref_pats(cx: &LateContext<'_, '_>, ex: &Expr, arms: &[Arm], expr: &Expr) { if has_only_ref_pats(arms) { let mut suggs = Vec::new(); - let (title, msg) = if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Immutable, ref inner) = ex.kind { + let (title, msg) = if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, ref inner) = ex.kind { let span = ex.span.source_callsite(); suggs.push((span, Sugg::hir_with_macro_callsite(cx, inner, "..").to_string())); ( diff --git a/clippy_lints/src/mem_replace.rs b/clippy_lints/src/mem_replace.rs index 71a7b010515e..f819fdc17b12 100644 --- a/clippy_lints/src/mem_replace.rs +++ b/clippy_lints/src/mem_replace.rs @@ -91,7 +91,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MemReplace { // argument's type. All that's left is to get // replacee's path. let replaced_path = match func_args[0].kind { - ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mutable, ref replaced) => { + ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mut, ref replaced) => { if let ExprKind::Path(QPath::Resolved(None, ref replaced_path)) = replaced.kind { replaced_path } else { diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs index 2b611bf823ea..0b6be920d994 100644 --- a/clippy_lints/src/methods/mod.rs +++ b/clippy_lints/src/methods/mod.rs @@ -2824,8 +2824,8 @@ fn ty_has_iter_method(cx: &LateContext<'_, '_>, self_ref_ty: Ty<'_>) -> Option<( _ => unreachable!(), }; let method_name = match mutbl { - hir::Mutability::Immutable => "iter", - hir::Mutability::Mutable => "iter_mut", + hir::Mutability::Not => "iter", + hir::Mutability::Mut => "iter_mut", }; (ty_name, method_name) }) @@ -3015,8 +3015,8 @@ impl SelfKind { } let trait_path = match mutability { - hir::Mutability::Immutable => &paths::ASREF_TRAIT, - hir::Mutability::Mutable => &paths::ASMUT_TRAIT, + hir::Mutability::Not => &paths::ASREF_TRAIT, + hir::Mutability::Mut => &paths::ASMUT_TRAIT, }; let trait_def_id = match get_trait_def_id(cx, trait_path) { @@ -3028,10 +3028,8 @@ impl SelfKind { match self { Self::Value => matches_value(parent_ty, ty), - Self::Ref => { - matches_ref(cx, hir::Mutability::Immutable, parent_ty, ty) || ty == parent_ty && is_copy(cx, ty) - }, - Self::RefMut => matches_ref(cx, hir::Mutability::Mutable, parent_ty, ty), + Self::Ref => matches_ref(cx, hir::Mutability::Not, parent_ty, ty) || ty == parent_ty && is_copy(cx, ty), + Self::RefMut => matches_ref(cx, hir::Mutability::Mut, parent_ty, ty), Self::No => ty != parent_ty, } } diff --git a/clippy_lints/src/misc.rs b/clippy_lints/src/misc.rs index 687776c67986..5dc5e4023e90 100644 --- a/clippy_lints/src/misc.rs +++ b/clippy_lints/src/misc.rs @@ -632,8 +632,8 @@ fn check_cast(cx: &LateContext<'_, '_>, span: Span, e: &Expr, ty: &Ty) { if !in_constant(cx, e.hir_id); then { let (msg, sugg_fn) = match mut_ty.mutbl { - Mutability::Mutable => ("`0 as *mut _` detected", "std::ptr::null_mut"), - Mutability::Immutable => ("`0 as *const _` detected", "std::ptr::null"), + Mutability::Mut => ("`0 as *mut _` detected", "std::ptr::null_mut"), + Mutability::Not => ("`0 as *const _` detected", "std::ptr::null"), }; let (sugg, appl) = if let TyKind::Infer = mut_ty.ty.kind { diff --git a/clippy_lints/src/mut_mut.rs b/clippy_lints/src/mut_mut.rs index 7be792918a4d..5bc0ff806b9d 100644 --- a/clippy_lints/src/mut_mut.rs +++ b/clippy_lints/src/mut_mut.rs @@ -58,15 +58,15 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for MutVisitor<'a, 'tcx> { // Let's ignore the generated code. intravisit::walk_expr(self, arg); intravisit::walk_expr(self, body); - } else if let hir::ExprKind::AddrOf(hir::BorrowKind::Ref, hir::Mutability::Mutable, ref e) = expr.kind { - if let hir::ExprKind::AddrOf(hir::BorrowKind::Ref, hir::Mutability::Mutable, _) = e.kind { + } else if let hir::ExprKind::AddrOf(hir::BorrowKind::Ref, hir::Mutability::Mut, ref e) = expr.kind { + if let hir::ExprKind::AddrOf(hir::BorrowKind::Ref, hir::Mutability::Mut, _) = e.kind { span_lint( self.cx, MUT_MUT, expr.span, "generally you want to avoid `&mut &mut _` if possible", ); - } else if let ty::Ref(_, _, hir::Mutability::Mutable) = self.cx.tables.expr_ty(e).kind { + } else if let ty::Ref(_, _, hir::Mutability::Mut) = self.cx.tables.expr_ty(e).kind { span_lint( self.cx, MUT_MUT, @@ -82,14 +82,14 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for MutVisitor<'a, 'tcx> { _, hir::MutTy { ty: ref pty, - mutbl: hir::Mutability::Mutable, + mutbl: hir::Mutability::Mut, }, ) = ty.kind { if let hir::TyKind::Rptr( _, hir::MutTy { - mutbl: hir::Mutability::Mutable, + mutbl: hir::Mutability::Mut, .. }, ) = pty.kind diff --git a/clippy_lints/src/mut_reference.rs b/clippy_lints/src/mut_reference.rs index 326725e635de..a8d1454096ab 100644 --- a/clippy_lints/src/mut_reference.rs +++ b/clippy_lints/src/mut_reference.rs @@ -56,12 +56,11 @@ fn check_arguments<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, arguments: &[Expr], typ let parameters = type_definition.fn_sig(cx.tcx).skip_binder().inputs(); for (argument, parameter) in arguments.iter().zip(parameters.iter()) { match parameter.kind { - ty::Ref(_, _, Mutability::Immutable) + ty::Ref(_, _, Mutability::Not) | ty::RawPtr(ty::TypeAndMut { - mutbl: Mutability::Immutable, - .. + mutbl: Mutability::Not, .. }) => { - if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mutable, _) = argument.kind { + if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mut, _) = argument.kind { span_lint( cx, UNNECESSARY_MUT_PASSED, diff --git a/clippy_lints/src/mutable_debug_assertion.rs b/clippy_lints/src/mutable_debug_assertion.rs index 51180300e62c..998153010105 100644 --- a/clippy_lints/src/mutable_debug_assertion.rs +++ b/clippy_lints/src/mutable_debug_assertion.rs @@ -129,7 +129,7 @@ impl<'a, 'tcx> MutArgVisitor<'a, 'tcx> { impl<'a, 'tcx> Visitor<'tcx> for MutArgVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr) { match expr.kind { - ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mutable, _) => { + ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mut, _) => { self.found = true; return; }, @@ -137,7 +137,7 @@ impl<'a, 'tcx> Visitor<'tcx> for MutArgVisitor<'a, 'tcx> { if let Some(adj) = self.cx.tables.adjustments().get(expr.hir_id) { if adj .iter() - .any(|a| matches!(a.target.kind, ty::Ref(_, _, Mutability::Mutable))) + .any(|a| matches!(a.target.kind, ty::Ref(_, _, Mutability::Mut))) { self.found = true; return; diff --git a/clippy_lints/src/needless_borrow.rs b/clippy_lints/src/needless_borrow.rs index b2ac953021c4..70d459db0c62 100644 --- a/clippy_lints/src/needless_borrow.rs +++ b/clippy_lints/src/needless_borrow.rs @@ -42,7 +42,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessBorrow { if e.span.from_expansion() || self.derived_item.is_some() { return; } - if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Immutable, ref inner) = e.kind { + if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Not, ref inner) = e.kind { if let ty::Ref(..) = cx.tables.expr_ty(inner).kind { for adj3 in cx.tables.expr_adjustments(e).windows(3) { if let [Adjustment { @@ -83,10 +83,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessBorrow { if_chain! { if let PatKind::Binding(BindingAnnotation::Ref, .., name, _) = pat.kind; if let ty::Ref(_, tam, mutbl) = cx.tables.pat_ty(pat).kind; - if mutbl == Mutability::Immutable; + if mutbl == Mutability::Not; if let ty::Ref(_, _, mutbl) = tam.kind; // only lint immutable refs, because borrowed `&mut T` cannot be moved out - if mutbl == Mutability::Immutable; + if mutbl == Mutability::Not; then { span_lint_and_then( cx, diff --git a/clippy_lints/src/needless_borrowed_ref.rs b/clippy_lints/src/needless_borrowed_ref.rs index 845e5d642570..e9b7aa4a7efa 100644 --- a/clippy_lints/src/needless_borrowed_ref.rs +++ b/clippy_lints/src/needless_borrowed_ref.rs @@ -62,7 +62,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessBorrowedRef { if_chain! { // Only lint immutable refs, because `&mut ref T` may be useful. - if let PatKind::Ref(ref sub_pat, Mutability::Immutable) = pat.kind; + if let PatKind::Ref(ref sub_pat, Mutability::Not) = pat.kind; // Check sub_pat got a `ref` keyword (excluding `ref mut`). if let PatKind::Binding(BindingAnnotation::Ref, .., spanned_name, _) = sub_pat.kind; diff --git a/clippy_lints/src/ptr.rs b/clippy_lints/src/ptr.rs index 2043aa8382f0..c0a7d37f1695 100644 --- a/clippy_lints/src/ptr.rs +++ b/clippy_lints/src/ptr.rs @@ -151,7 +151,7 @@ fn check_fn(cx: &LateContext<'_, '_>, decl: &FnDecl, fn_id: HirId, opt_body_id: let fn_ty = sig.skip_binder(); for (idx, (arg, ty)) in decl.inputs.iter().zip(fn_ty.inputs()).enumerate() { - if let ty::Ref(_, ty, Mutability::Immutable) = ty.kind { + if let ty::Ref(_, ty, Mutability::Not) = ty.kind { if is_type_diagnostic_item(cx, ty, Symbol::intern("vec_type")) { let mut ty_snippet = None; if_chain! { @@ -255,7 +255,7 @@ fn check_fn(cx: &LateContext<'_, '_>, decl: &FnDecl, fn_id: HirId, opt_body_id: } if let FunctionRetTy::Return(ref ty) = decl.output { - if let Some((out, Mutability::Mutable, _)) = get_rptr_lm(ty) { + if let Some((out, Mutability::Mut, _)) = get_rptr_lm(ty) { let mut immutables = vec![]; for (_, ref mutbl, ref argspan) in decl .inputs @@ -263,7 +263,7 @@ fn check_fn(cx: &LateContext<'_, '_>, decl: &FnDecl, fn_id: HirId, opt_body_id: .filter_map(|ty| get_rptr_lm(ty)) .filter(|&(lt, _, _)| lt.name == out.name) { - if *mutbl == Mutability::Mutable { + if *mutbl == Mutability::Mut { return; } immutables.push(*argspan); diff --git a/clippy_lints/src/transmute.rs b/clippy_lints/src/transmute.rs index 3c63ef765fed..bae64e85e7f5 100644 --- a/clippy_lints/src/transmute.rs +++ b/clippy_lints/src/transmute.rs @@ -385,7 +385,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { ), |db| { let arg = sugg::Sugg::hir(cx, &args[0], ".."); - let (deref, cast) = if mutbl == Mutability::Mutable { + let (deref, cast) = if mutbl == Mutability::Mut { ("&mut *", "*mut") } else { ("&*", "*const") @@ -433,7 +433,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { if let ty::Uint(ast::UintTy::U8) = slice_ty.kind; if from_mutbl == to_mutbl; then { - let postfix = if from_mutbl == Mutability::Mutable { + let postfix = if from_mutbl == Mutability::Mut { "_mut" } else { "" @@ -473,7 +473,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { let sugg_paren = arg .as_ty(cx.tcx.mk_ptr(ty_from_and_mut)) .as_ty(cx.tcx.mk_ptr(ty_to_and_mut)); - let sugg = if to_mutbl == Mutability::Mutable { + let sugg = if to_mutbl == Mutability::Mut { sugg_paren.mut_addr_deref() } else { sugg_paren.addr_deref() diff --git a/clippy_lints/src/trivially_copy_pass_by_ref.rs b/clippy_lints/src/trivially_copy_pass_by_ref.rs index 7bfc9a05be92..77ef436afb10 100644 --- a/clippy_lints/src/trivially_copy_pass_by_ref.rs +++ b/clippy_lints/src/trivially_copy_pass_by_ref.rs @@ -98,7 +98,7 @@ impl<'a, 'tcx> TriviallyCopyPassByRef { } if_chain! { - if let ty::Ref(input_lt, ty, Mutability::Immutable) = ty.kind; + if let ty::Ref(input_lt, ty, Mutability::Not) = ty.kind; if !output_lts.contains(&input_lt); if is_copy(cx, ty); if let Some(size) = cx.layout_of(ty).ok().map(|l| l.size.bytes()); diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs index bc1dfdfa1461..478c8fe686dc 100644 --- a/clippy_lints/src/types.rs +++ b/clippy_lints/src/types.rs @@ -395,7 +395,7 @@ fn check_ty_rptr(cx: &LateContext<'_, '_>, hir_ty: &hir::Ty, is_local: bool, lt: } else { format!("{} ", lt.name.ident().as_str()) }; - let mutopt = if mut_ty.mutbl == Mutability::Mutable { + let mutopt = if mut_ty.mutbl == Mutability::Mut { "mut " } else { "" @@ -2387,9 +2387,9 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for RefToMut { if_chain! { if let ExprKind::Unary(UnOp::UnDeref, e) = &expr.kind; if let ExprKind::Cast(e, t) = &e.kind; - if let TyKind::Ptr(MutTy { mutbl: Mutability::Mutable, .. }) = t.kind; + if let TyKind::Ptr(MutTy { mutbl: Mutability::Mut, .. }) = t.kind; if let ExprKind::Cast(e, t) = &e.kind; - if let TyKind::Ptr(MutTy { mutbl: Mutability::Immutable, .. }) = t.kind; + if let TyKind::Ptr(MutTy { mutbl: Mutability::Not, .. }) = t.kind; if let ty::Ref(..) = cx.tables.node_type(e.hir_id).kind; then { span_lint( diff --git a/clippy_lints/src/utils/internal_lints.rs b/clippy_lints/src/utils/internal_lints.rs index 2ea605edbde5..e307cc3baf27 100644 --- a/clippy_lints/src/utils/internal_lints.rs +++ b/clippy_lints/src/utils/internal_lints.rs @@ -166,7 +166,7 @@ impl_lint_pass!(LintWithoutLintPass => [LINT_WITHOUT_LINT_PASS]); impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LintWithoutLintPass { fn check_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx Item) { - if let hir::ItemKind::Static(ref ty, Mutability::Immutable, _) = item.kind { + if let hir::ItemKind::Static(ref ty, Mutability::Not, _) = item.kind { if is_lint_ref_type(cx, ty) { self.declared_lints.insert(item.ident.name, item.span); } @@ -219,7 +219,7 @@ fn is_lint_ref_type<'tcx>(cx: &LateContext<'_, 'tcx>, ty: &Ty) -> bool { _, MutTy { ty: ref inner, - mutbl: Mutability::Immutable, + mutbl: Mutability::Not, }, ) = ty.kind { diff --git a/tests/ui/author/for_loop.stdout b/tests/ui/author/for_loop.stdout index b942b23cbcf7..557d2894d37f 100644 --- a/tests/ui/author/for_loop.stdout +++ b/tests/ui/author/for_loop.stdout @@ -22,7 +22,7 @@ if_chain! { if let ExprKind::Path(ref path2) = func1.kind; if match_qpath(path2, &["{{root}}", "std", "iter", "Iterator", "next"]); if args1.len() == 1; - if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mutable, ref inner) = args1[0].kind; + if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mut, ref inner) = args1[0].kind; if let ExprKind::Path(ref path3) = inner.kind; if match_qpath(path3, &["iter"]); if arms1.len() == 2;