1 use clippy_utils::diagnostics::span_lint;
2 use clippy_utils::is_ty_param_diagnostic_item;
3 use if_chain::if_chain;
4 use rustc_hir::{self as hir, def_id::DefId, QPath};
5 use rustc_lint::LateContext;
6 use rustc_span::symbol::sym;
10 pub(super) fn check(cx: &LateContext<'_>, hir_ty: &hir::Ty<'_>, qpath: &QPath<'_>, def_id: DefId) -> bool {
12 if cx.tcx.is_diagnostic_item(sym::Rc, def_id) ;
13 if let Some(_) = is_ty_param_diagnostic_item(cx, qpath, sym!(mutex_type)) ;
20 "found `Rc<Mutex<_>>`. Consider using `Rc<RefCell<_>>` or `Arc<Mutex<_>>` instead",