Skip to content

Commit 6b64159

Browse files
committed
Fix internal lint checking match_type uses
* Check for `is_item` instead * Check consts and statics from external crates * Check for lang items * Check for inherent functions which have the same name as a field
1 parent f3bfd20 commit 6b64159

28 files changed

+350
-142
lines changed

clippy_lints/src/drop_forget_ref.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
use clippy_utils::diagnostics::span_lint_and_note;
2+
use clippy_utils::is_item;
23
use clippy_utils::ty::is_copy;
3-
use clippy_utils::{is_item, paths};
44
use if_chain::if_chain;
55
use rustc_hir::{Expr, ExprKind};
66
use rustc_lint::{LateContext, LateLintPass};
77
use rustc_middle::ty;
88
use rustc_session::{declare_lint_pass, declare_tool_lint};
9+
use rustc_span::sym;
910

1011
declare_clippy_lint! {
1112
/// ### What it does
@@ -124,10 +125,10 @@ impl<'tcx> LateLintPass<'tcx> for DropForgetRef {
124125
let arg_ty = cx.typeck_results().expr_ty(arg);
125126

126127
if let ty::Ref(..) = arg_ty.kind() {
127-
if is_item(cx, def_id, &paths::DROP) {
128+
if is_item(cx, def_id, sym::mem_drop) {
128129
lint = DROP_REF;
129130
msg = DROP_REF_SUMMARY.to_string();
130-
} else if is_item(cx, def_id, &paths::MEM_FORGET) {
131+
} else if is_item(cx, def_id, sym::mem_forget) {
131132
lint = FORGET_REF;
132133
msg = FORGET_REF_SUMMARY.to_string();
133134
} else {
@@ -140,10 +141,10 @@ impl<'tcx> LateLintPass<'tcx> for DropForgetRef {
140141
Some(arg.span),
141142
&format!("argument has type `{}`", arg_ty));
142143
} else if is_copy(cx, arg_ty) {
143-
if is_item(cx, def_id, &paths::DROP) {
144+
if is_item(cx, def_id, sym::mem_drop) {
144145
lint = DROP_COPY;
145146
msg = DROP_COPY_SUMMARY.to_string();
146-
} else if is_item(cx, def_id, &paths::MEM_FORGET) {
147+
} else if is_item(cx, def_id, sym::mem_forget) {
147148
lint = FORGET_COPY;
148149
msg = FORGET_COPY_SUMMARY.to_string();
149150
} else {

clippy_lints/src/duration_subsec.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use clippy_utils::consts::{constant, Constant};
2+
use clippy_utils::diagnostics::span_lint_and_sugg;
13
use clippy_utils::is_item;
24
use clippy_utils::source::snippet_with_applicability;
35
use if_chain::if_chain;
@@ -6,10 +8,7 @@ use rustc_hir::{BinOpKind, Expr, ExprKind};
68
use rustc_lint::{LateContext, LateLintPass};
79
use rustc_session::{declare_lint_pass, declare_tool_lint};
810
use rustc_span::source_map::Spanned;
9-
10-
use clippy_utils::consts::{constant, Constant};
11-
use clippy_utils::diagnostics::span_lint_and_sugg;
12-
use clippy_utils::paths;
11+
use rustc_span::sym;
1312

1413
declare_clippy_lint! {
1514
/// ### What it does
@@ -45,7 +44,7 @@ impl<'tcx> LateLintPass<'tcx> for DurationSubsec {
4544
if_chain! {
4645
if let ExprKind::Binary(Spanned { node: BinOpKind::Div, .. }, left, right) = expr.kind;
4746
if let ExprKind::MethodCall(method_path, _ , args, _) = left.kind;
48-
if is_item(cx, cx.typeck_results().expr_ty(&args[0]).peel_refs(), &paths::DURATION);
47+
if is_item(cx, cx.typeck_results().expr_ty(&args[0]).peel_refs(), sym::Duration);
4948
if let Some((Constant::Int(divisor), _)) = constant(cx, cx.typeck_results(), right);
5049
then {
5150
let suggested_fn = match (method_path.ident.as_str().as_ref(), divisor) {

clippy_lints/src/infinite_iter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ fn is_infinite(cx: &LateContext<'_>, expr: &Expr<'_>) -> Finiteness {
167167
ExprKind::Box(e) | ExprKind::AddrOf(BorrowKind::Ref, _, e) => is_infinite(cx, e),
168168
ExprKind::Call(path, _) => {
169169
if let ExprKind::Path(ref qpath) = path.kind {
170-
is_item(cx, (qpath, path.hir_id), &paths::ITER_REPEAT).into()
170+
is_item(cx, (qpath, path.hir_id), sym::iter_repeat).into()
171171
} else {
172172
Finite
173173
}

clippy_lints/src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -519,9 +519,9 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf:
519519
#[cfg(feature = "internal-lints")]
520520
utils::internal_lints::INVALID_PATHS,
521521
#[cfg(feature = "internal-lints")]
522-
utils::internal_lints::LINT_WITHOUT_LINT_PASS,
522+
utils::internal_lints::IS_ITEM_DEF_PATH_ON_DIAGNOSTIC_OR_LANG_ITEM,
523523
#[cfg(feature = "internal-lints")]
524-
utils::internal_lints::MATCH_TYPE_ON_DIAGNOSTIC_ITEM,
524+
utils::internal_lints::LINT_WITHOUT_LINT_PASS,
525525
#[cfg(feature = "internal-lints")]
526526
utils::internal_lints::OUTER_EXPN_EXPN_DATA,
527527
#[cfg(feature = "internal-lints")]
@@ -1170,8 +1170,8 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf:
11701170
LintId::of(utils::internal_lints::IF_CHAIN_STYLE),
11711171
LintId::of(utils::internal_lints::INTERNING_DEFINED_SYMBOL),
11721172
LintId::of(utils::internal_lints::INVALID_PATHS),
1173+
LintId::of(utils::internal_lints::IS_ITEM_DEF_PATH_ON_DIAGNOSTIC_OR_LANG_ITEM),
11731174
LintId::of(utils::internal_lints::LINT_WITHOUT_LINT_PASS),
1174-
LintId::of(utils::internal_lints::MATCH_TYPE_ON_DIAGNOSTIC_ITEM),
11751175
LintId::of(utils::internal_lints::OUTER_EXPN_EXPN_DATA),
11761176
LintId::of(utils::internal_lints::PRODUCE_ICE),
11771177
LintId::of(utils::internal_lints::UNNECESSARY_SYMBOL_STR),
@@ -1846,7 +1846,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf:
18461846
store.register_late_pass(|| Box::new(utils::internal_lints::InvalidPaths));
18471847
store.register_late_pass(|| Box::new(utils::internal_lints::InterningDefinedSymbol::default()));
18481848
store.register_late_pass(|| Box::new(utils::internal_lints::LintWithoutLintPass::default()));
1849-
store.register_late_pass(|| Box::new(utils::internal_lints::MatchTypeOnDiagItem));
1849+
store.register_late_pass(|| Box::new(utils::internal_lints::IsItemDefPath));
18501850
store.register_late_pass(|| Box::new(utils::internal_lints::OuterExpnDataPass));
18511851
}
18521852

clippy_lints/src/loops/while_let_on_iterator.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,20 @@ use super::WHILE_LET_ON_ITERATOR;
22
use clippy_utils::diagnostics::span_lint_and_sugg;
33
use clippy_utils::higher;
44
use clippy_utils::source::snippet_with_applicability;
5-
use clippy_utils::{
6-
get_enclosing_loop_or_closure, is_item, is_refutable, is_trait_method, paths, visitors::is_res_used,
7-
};
5+
use clippy_utils::{get_enclosing_loop_or_closure, is_lang_ctor, is_refutable, is_trait_method, visitors::is_res_used};
86
use if_chain::if_chain;
97
use rustc_errors::Applicability;
108
use rustc_hir::intravisit::{walk_expr, ErasedMap, NestedVisitorMap, Visitor};
11-
use rustc_hir::{def::Res, Expr, ExprKind, HirId, Local, Mutability, PatKind, QPath, UnOp};
9+
use rustc_hir::{def::Res, Expr, ExprKind, HirId, LangItem, Local, Mutability, PatKind, UnOp};
1210
use rustc_lint::LateContext;
1311
use rustc_span::{symbol::sym, Span, Symbol};
1412

1513
pub(super) fn check(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {
1614
let (scrutinee_expr, iter_expr, some_pat, loop_expr) = if_chain! {
1715
if let Some(higher::WhileLet { if_then, let_pat, let_expr }) = higher::WhileLet::hir(expr);
1816
// check for `Some(..)` pattern
19-
if let PatKind::TupleStruct(QPath::Resolved(None, pat_path), some_pat, _) = let_pat.kind;
20-
if let Res::Def(_, pat_did) = pat_path.res;
21-
if is_item(cx, pat_did, &paths::OPTION_SOME);
17+
if let PatKind::TupleStruct(ref pat_path, some_pat, _) = let_pat.kind;
18+
if is_lang_ctor(cx, pat_path, LangItem::OptionSome);
2219
// check for call to `Iterator::next`
2320
if let ExprKind::MethodCall(method_name, _, [iter_expr], _) = let_expr.kind;
2421
if method_name.ident.name == sym::next;

clippy_lints/src/mem_discriminant.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
use clippy_utils::diagnostics::span_lint_and_then;
2+
use clippy_utils::is_item;
23
use clippy_utils::source::snippet;
34
use clippy_utils::ty::walk_ptrs_ty_depth;
4-
use clippy_utils::{is_item, paths};
55
use if_chain::if_chain;
66
use rustc_errors::Applicability;
77
use rustc_hir::{BorrowKind, Expr, ExprKind};
88
use rustc_lint::{LateContext, LateLintPass};
99
use rustc_session::{declare_lint_pass, declare_tool_lint};
10+
use rustc_span::sym;
1011

1112
declare_clippy_lint! {
1213
/// ### What it does
@@ -37,7 +38,7 @@ impl<'tcx> LateLintPass<'tcx> for MemDiscriminant {
3738
// is `mem::discriminant`
3839
if let ExprKind::Path(ref func_qpath) = func.kind;
3940
if let Some(def_id) = cx.qpath_res(func_qpath, func.hir_id).opt_def_id();
40-
if is_item(cx, def_id, &paths::MEM_DISCRIMINANT);
41+
if is_item(cx, def_id, sym::mem_discriminant);
4142
// type is non-enum
4243
let ty_param = cx.typeck_results().node_substs(func.hir_id).type_at(0);
4344
if !ty_param.is_enum();

clippy_lints/src/mem_forget.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
use clippy_utils::diagnostics::span_lint;
2-
use clippy_utils::{is_item, paths};
2+
use clippy_utils::is_item;
33
use rustc_hir::{Expr, ExprKind};
44
use rustc_lint::{LateContext, LateLintPass};
55
use rustc_session::{declare_lint_pass, declare_tool_lint};
6+
use rustc_span::sym;
67

78
declare_clippy_lint! {
89
/// ### What it does
@@ -31,7 +32,7 @@ impl<'tcx> LateLintPass<'tcx> for MemForget {
3132
if let ExprKind::Call(path_expr, [ref first_arg, ..]) = e.kind {
3233
if let ExprKind::Path(ref qpath) = path_expr.kind {
3334
if let Some(def_id) = cx.qpath_res(qpath, path_expr.hir_id).opt_def_id() {
34-
if is_item(cx, def_id, &paths::MEM_FORGET) {
35+
if is_item(cx, def_id, sym::mem_forget) {
3536
let forgot_ty = cx.typeck_results().expr_ty(first_arg);
3637

3738
if forgot_ty.ty_adt_def().map_or(false, |def| def.has_dtor(cx.tcx)) {

clippy_lints/src/mem_replace.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clippy_utils::diagnostics::{span_lint_and_help, span_lint_and_sugg, span_lint_and_then};
22
use clippy_utils::source::{snippet, snippet_with_applicability};
33
use clippy_utils::ty::is_non_aggregate_primitive_type;
4-
use clippy_utils::{in_macro, is_default_equivalent, is_item, is_lang_ctor, meets_msrv, msrvs, paths};
4+
use clippy_utils::{in_macro, is_default_equivalent, is_item, is_lang_ctor, meets_msrv, msrvs};
55
use if_chain::if_chain;
66
use rustc_errors::Applicability;
77
use rustc_hir::LangItem::OptionNone;
@@ -11,7 +11,7 @@ use rustc_middle::lint::in_external_macro;
1111
use rustc_semver::RustcVersion;
1212
use rustc_session::{declare_tool_lint, impl_lint_pass};
1313
use rustc_span::source_map::Span;
14-
use rustc_span::symbol::sym;
14+
use rustc_span::sym;
1515

1616
declare_clippy_lint! {
1717
/// ### What it does
@@ -246,7 +246,7 @@ impl<'tcx> LateLintPass<'tcx> for MemReplace {
246246
if let ExprKind::Call(func, func_args) = expr.kind;
247247
if let ExprKind::Path(ref func_qpath) = func.kind;
248248
if let Some(def_id) = cx.qpath_res(func_qpath, func.hir_id).opt_def_id();
249-
if is_item(cx, def_id, &paths::MEM_REPLACE);
249+
if is_item(cx, def_id, sym::mem_replace);
250250
if let [dest, src] = func_args;
251251
then {
252252
check_replace_option_with_none(cx, src, dest, expr.span);

clippy_lints/src/methods/filetype_is_file.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
use clippy_utils::diagnostics::span_lint_and_help;
2+
use clippy_utils::get_parent_expr;
23
use clippy_utils::is_item;
3-
use clippy_utils::{get_parent_expr, paths};
44
use if_chain::if_chain;
55
use rustc_hir as hir;
66
use rustc_lint::LateContext;
77
use rustc_span::source_map::Span;
8+
use rustc_span::sym;
89

910
use super::FILETYPE_IS_FILE;
1011

1112
pub(super) fn check(cx: &LateContext<'_>, expr: &hir::Expr<'_>, recv: &hir::Expr<'_>) {
1213
let ty = cx.typeck_results().expr_ty(recv);
1314

14-
if !is_item(cx, ty, &paths::FILE_TYPE) {
15+
if !is_item(cx, ty, sym::FileType) {
1516
return;
1617
}
1718

clippy_lints/src/methods/inefficient_to_string.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use rustc_errors::Applicability;
77
use rustc_hir as hir;
88
use rustc_lint::LateContext;
99
use rustc_middle::ty::{self, Ty};
10-
use rustc_span::symbol::{sym, Symbol};
10+
use rustc_span::{sym, Symbol};
1111

1212
use super::INEFFICIENT_TO_STRING;
1313

@@ -60,7 +60,7 @@ fn specializes_tostring(cx: &LateContext<'_>, ty: Ty<'_>) -> bool {
6060
}
6161

6262
if let ty::Adt(adt, substs) = ty.kind() {
63-
is_item(cx, adt.did, &paths::COW) && substs.type_at(1).is_str()
63+
is_item(cx, adt.did, sym::Cow) && substs.type_at(1).is_str()
6464
} else {
6565
false
6666
}

clippy_lints/src/methods/manual_str_repeat.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
use clippy_utils::diagnostics::span_lint_and_sugg;
2+
use clippy_utils::is_item;
23
use clippy_utils::source::{snippet_with_applicability, snippet_with_context};
34
use clippy_utils::sugg::Sugg;
4-
use clippy_utils::{is_item, paths};
55
use if_chain::if_chain;
66
use rustc_ast::LitKind;
77
use rustc_errors::Applicability;
88
use rustc_hir::{Expr, ExprKind, LangItem};
99
use rustc_lint::LateContext;
1010
use rustc_middle::ty::{self, Ty, TyS};
11-
use rustc_span::symbol::sym;
11+
use rustc_span::sym;
1212
use std::borrow::Cow;
1313

1414
use super::MANUAL_STR_REPEAT;
@@ -37,7 +37,7 @@ fn parse_repeat_arg(cx: &LateContext<'_>, e: &Expr<'_>) -> Option<RepeatKind> {
3737
let ty = cx.typeck_results().expr_ty(e);
3838
if is_item(cx, ty, sym::string_type)
3939
|| (is_item(cx, ty, LangItem::OwnedBox) && get_ty_param(ty).map_or(false, TyS::is_str))
40-
|| (is_item(cx, ty, &paths::COW) && get_ty_param(ty).map_or(false, TyS::is_str))
40+
|| (is_item(cx, ty, sym::Cow) && get_ty_param(ty).map_or(false, TyS::is_str))
4141
{
4242
Some(RepeatKind::String)
4343
} else {
@@ -56,7 +56,7 @@ pub(super) fn check(
5656
) {
5757
if_chain! {
5858
if let ExprKind::Call(repeat_fn, [repeat_arg]) = take_self_arg.kind;
59-
if is_item(cx, repeat_fn, &paths::ITER_REPEAT);
59+
if is_item(cx, repeat_fn, sym::iter_repeat);
6060
if is_item(cx, cx.typeck_results().expr_ty(collect_expr), sym::string_type);
6161
if let Some(collect_id) = cx.typeck_results().type_dependent_def_id(collect_expr.hir_id);
6262
if let Some(take_id) = cx.typeck_results().type_dependent_def_id(take_expr.hir_id);

clippy_lints/src/methods/uninit_assumed_init.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
use clippy_utils::diagnostics::span_lint;
2-
use clippy_utils::{is_item, paths};
2+
use clippy_utils::is_item;
33
use if_chain::if_chain;
44
use rustc_hir as hir;
55
use rustc_lint::LateContext;
66
use rustc_middle::ty::{self, Ty};
7+
use rustc_span::sym;
78

89
use super::UNINIT_ASSUMED_INIT;
910

@@ -12,7 +13,7 @@ pub(super) fn check(cx: &LateContext<'_>, expr: &hir::Expr<'_>, recv: &hir::Expr
1213
if_chain! {
1314
if let hir::ExprKind::Call(callee, args) = recv.kind;
1415
if args.is_empty();
15-
if is_item(cx, callee, &paths::MEM_MAYBEUNINIT_UNINIT);
16+
if is_item(cx, callee, sym::maybe_uninit_uninit);
1617
if !is_maybe_uninit_ty_valid(cx, cx.typeck_results().expr_ty_adjusted(expr));
1718
then {
1819
span_lint(
@@ -29,7 +30,7 @@ fn is_maybe_uninit_ty_valid(cx: &LateContext<'_>, ty: Ty<'_>) -> bool {
2930
match ty.kind() {
3031
ty::Array(component, _) => is_maybe_uninit_ty_valid(cx, component),
3132
ty::Tuple(types) => types.types().all(|ty| is_maybe_uninit_ty_valid(cx, ty)),
32-
ty::Adt(adt, _) => is_item(cx, adt.did, &paths::MEM_MAYBEUNINIT),
33+
ty::Adt(adt, _) => is_item(cx, adt.did, hir::LangItem::MaybeUninit),
3334
_ => false,
3435
}
3536
}

clippy_lints/src/minmax.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use if_chain::if_chain;
55
use rustc_hir::{Expr, ExprKind};
66
use rustc_lint::{LateContext, LateLintPass};
77
use rustc_session::{declare_lint_pass, declare_tool_lint};
8+
use rustc_span::sym;
89
use std::cmp::Ordering;
910

1011
declare_clippy_lint! {
@@ -73,9 +74,9 @@ fn min_max<'a>(cx: &LateContext<'_>, expr: &'a Expr<'a>) -> Option<(MinMax, Cons
7374
.qpath_res(qpath, path.hir_id)
7475
.opt_def_id()
7576
.and_then(|def_id| {
76-
if is_item(cx, def_id, &paths::CMP_MIN) {
77+
if is_item(cx, def_id, sym::cmp_min) {
7778
fetch_const(cx, args, MinMax::Min)
78-
} else if is_item(cx, def_id, &paths::CMP_MAX) {
79+
} else if is_item(cx, def_id, sym::cmp_max) {
7980
fetch_const(cx, args, MinMax::Max)
8081
} else {
8182
None

clippy_lints/src/non_octal_unix_permissions.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use rustc_errors::Applicability;
66
use rustc_hir::{Expr, ExprKind};
77
use rustc_lint::{LateContext, LateLintPass};
88
use rustc_session::{declare_lint_pass, declare_tool_lint};
9+
use rustc_span::sym;
910

1011
declare_clippy_lint! {
1112
/// ### What it does
@@ -47,7 +48,7 @@ impl LateLintPass<'_> for NonOctalUnixPermissions {
4748
if_chain! {
4849
if (path.ident.name == sym!(mode)
4950
&& (is_item(cx, obj_ty, &paths::OPEN_OPTIONS)
50-
|| is_item(cx, obj_ty, &paths::DIR_BUILDER)))
51+
|| is_item(cx, obj_ty, sym::DirBuilder)))
5152
|| (path.ident.name == sym!(set_mode) && is_item(cx, obj_ty, &paths::PERMISSIONS));
5253
if let ExprKind::Lit(_) = param.kind;
5354

clippy_lints/src/ptr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ fn check_fn(cx: &LateContext<'_>, decl: &FnDecl<'_>, fn_id: HirId, opt_body_id:
337337
},
338338
);
339339
}
340-
} else if is_item(cx, ty, &paths::COW) {
340+
} else if is_item(cx, ty, sym::Cow) {
341341
if_chain! {
342342
if let TyKind::Rptr(_, MutTy { ty, ..} ) = arg.kind;
343343
if let TyKind::Path(QPath::Resolved(None, pp)) = ty.kind;

clippy_lints/src/redundant_clone.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use if_chain::if_chain;
66
use rustc_data_structures::{fx::FxHashMap, transitive_relation::TransitiveRelation};
77
use rustc_errors::Applicability;
88
use rustc_hir::intravisit::FnKind;
9-
use rustc_hir::{def_id, Body, FnDecl, HirId};
9+
use rustc_hir::{def_id, Body, FnDecl, HirId, LangItem};
1010
use rustc_index::bit_set::{BitSet, HybridBitSet};
1111
use rustc_lint::{LateContext, LateLintPass};
1212
use rustc_middle::mir::{
@@ -133,7 +133,7 @@ impl<'tcx> LateLintPass<'tcx> for RedundantClone {
133133
}
134134

135135
if let ty::Adt(def, _) = arg_ty.kind() {
136-
if is_item(cx, def.did, &paths::MEM_MANUALLY_DROP) {
136+
if is_item(cx, def.did, LangItem::ManuallyDrop) {
137137
continue;
138138
}
139139
}

clippy_lints/src/size_of_in_element_count.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use rustc_hir::{Expr, ExprKind};
99
use rustc_lint::{LateContext, LateLintPass};
1010
use rustc_middle::ty::{self, Ty, TyS, TypeAndMut};
1111
use rustc_session::{declare_lint_pass, declare_tool_lint};
12+
use rustc_span::sym;
1213

1314
declare_clippy_lint! {
1415
/// ### What it does
@@ -43,8 +44,8 @@ fn get_size_of_ty(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>, inverted: bool)
4344
if !inverted;
4445
if let ExprKind::Path(ref count_func_qpath) = count_func.kind;
4546
if let Some(def_id) = cx.qpath_res(count_func_qpath, count_func.hir_id).opt_def_id();
46-
if is_item(cx, def_id, &paths::MEM_SIZE_OF)
47-
|| is_item(cx, def_id, &paths::MEM_SIZE_OF_VAL);
47+
if is_item(cx, def_id, sym::mem_size_of)
48+
|| is_item(cx, def_id, sym::mem_size_of_val);
4849
then {
4950
cx.typeck_results().node_substs(count_func.hir_id).types().next()
5051
} else {

0 commit comments

Comments
 (0)