summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/clippy_lints/src/types/rc_mutex.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/clippy_lints/src/types/rc_mutex.rs')
-rw-r--r--src/tools/clippy/clippy_lints/src/types/rc_mutex.rs31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/tools/clippy/clippy_lints/src/types/rc_mutex.rs b/src/tools/clippy/clippy_lints/src/types/rc_mutex.rs
index a616c3e4e..afc319217 100644
--- a/src/tools/clippy/clippy_lints/src/types/rc_mutex.rs
+++ b/src/tools/clippy/clippy_lints/src/types/rc_mutex.rs
@@ -1,6 +1,5 @@
use clippy_utils::diagnostics::span_lint_and_help;
use clippy_utils::{path_def_id, qpath_generic_tys};
-use if_chain::if_chain;
use rustc_hir::def_id::DefId;
use rustc_hir::{self as hir, QPath};
use rustc_lint::LateContext;
@@ -9,22 +8,20 @@ use rustc_span::symbol::sym;
use super::RC_MUTEX;
pub(super) fn check(cx: &LateContext<'_>, hir_ty: &hir::Ty<'_>, qpath: &QPath<'_>, def_id: DefId) -> bool {
- if_chain! {
- if cx.tcx.is_diagnostic_item(sym::Rc, def_id) ;
- if let Some(arg) = qpath_generic_tys(qpath).next();
- if let Some(id) = path_def_id(cx, arg);
- if cx.tcx.is_diagnostic_item(sym::Mutex, id);
- then {
- span_lint_and_help(
- cx,
- RC_MUTEX,
- hir_ty.span,
- "usage of `Rc<Mutex<_>>`",
- None,
- "consider using `Rc<RefCell<_>>` or `Arc<Mutex<_>>` instead",
- );
- return true;
- }
+ if cx.tcx.is_diagnostic_item(sym::Rc, def_id)
+ && let Some(arg) = qpath_generic_tys(qpath).next()
+ && let Some(id) = path_def_id(cx, arg)
+ && cx.tcx.is_diagnostic_item(sym::Mutex, id)
+ {
+ span_lint_and_help(
+ cx,
+ RC_MUTEX,
+ hir_ty.span,
+ "usage of `Rc<Mutex<_>>`",
+ None,
+ "consider using `Rc<RefCell<_>>` or `Arc<Mutex<_>>` instead",
+ );
+ return true;
}
false