diff options
| author | Gabriel Fernandes <fernandesbgabriel@gmail.com> | 2024-02-11 21:11:13 -0300 |
|---|---|---|
| committer | Gabriel Fernandes <fernandesbgabriel@gmail.com> | 2024-02-11 21:11:13 -0300 |
| commit | 83555914edf10727bab5a97113ce2b3faa9abb7b (patch) | |
| tree | 6004a80b162867b802cbd35883946c2f6ee8eabf /clippy_lints/src/mem_replace.rs | |
| parent | fff46c1667a0f104e4537f638abfa35527bb541b (diff) | |
[mem_replace_with_default] No longer triggers on unused expression
Diffstat (limited to 'clippy_lints/src/mem_replace.rs')
| -rw-r--r-- | clippy_lints/src/mem_replace.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clippy_lints/src/mem_replace.rs b/clippy_lints/src/mem_replace.rs index fa4f4a47e38..1cdb7921f81 100644 --- a/clippy_lints/src/mem_replace.rs +++ b/clippy_lints/src/mem_replace.rs @@ -3,7 +3,9 @@ use clippy_utils::diagnostics::{span_lint_and_help, span_lint_and_sugg, span_lin use clippy_utils::source::{snippet, snippet_with_applicability}; use clippy_utils::sugg::Sugg; use clippy_utils::ty::is_non_aggregate_primitive_type; -use clippy_utils::{is_default_equivalent, is_res_lang_ctor, path_res, peel_ref_operators, std_or_core}; +use clippy_utils::{ + is_default_equivalent, is_expr_used_or_unified, is_res_lang_ctor, path_res, peel_ref_operators, std_or_core, +}; use rustc_errors::Applicability; use rustc_hir::LangItem::OptionNone; use rustc_hir::{Expr, ExprKind}; @@ -232,7 +234,7 @@ impl<'tcx> LateLintPass<'tcx> for MemReplace { // Check that second argument is `Option::None` if is_res_lang_ctor(cx, path_res(cx, src), OptionNone) { check_replace_option_with_none(cx, dest, expr.span); - } else if self.msrv.meets(msrvs::MEM_TAKE) { + } else if self.msrv.meets(msrvs::MEM_TAKE) && is_expr_used_or_unified(cx.tcx, expr) { check_replace_with_default(cx, src, dest, expr.span); } check_replace_with_uninit(cx, src, dest, expr.span); |
