Skip to content

Commit 56533d9

Browse files
committed
Take a LocalDefId in expect_*item.
1 parent 3c8b644 commit 56533d9

File tree

5 files changed

+6
-12
lines changed

5 files changed

+6
-12
lines changed

clippy_lints/src/derive.rs

+1-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use clippy_utils::paths;
33
use clippy_utils::ty::{implements_trait, is_copy};
44
use clippy_utils::{get_trait_def_id, is_automatically_derived, is_lint_allowed, match_def_path};
55
use if_chain::if_chain;
6-
use rustc_hir::def_id::DefId;
76
use rustc_hir::intravisit::{walk_expr, walk_fn, walk_item, FnKind, NestedVisitorMap, Visitor};
87
use rustc_hir::{
98
BlockCheckMode, BodyId, Expr, ExprKind, FnDecl, HirId, Impl, Item, ItemKind, TraitRef, UnsafeSource, Unsafety,
@@ -343,11 +342,6 @@ fn check_unsafe_derive_deserialize<'tcx>(
343342
trait_ref: &TraitRef<'_>,
344343
ty: Ty<'tcx>,
345344
) {
346-
fn item_from_def_id<'tcx>(cx: &LateContext<'tcx>, def_id: DefId) -> &'tcx Item<'tcx> {
347-
let hir_id = cx.tcx.hir().local_def_id_to_hir_id(def_id.expect_local());
348-
cx.tcx.hir().expect_item(hir_id)
349-
}
350-
351345
fn has_unsafe<'tcx>(cx: &LateContext<'tcx>, item: &'tcx Item<'_>) -> bool {
352346
let mut visitor = UnsafeVisitor { cx, has_unsafe: false };
353347
walk_item(&mut visitor, item);
@@ -363,7 +357,7 @@ fn check_unsafe_derive_deserialize<'tcx>(
363357
if !is_lint_allowed(cx, UNSAFE_DERIVE_DESERIALIZE, adt_hir_id);
364358
if cx.tcx.inherent_impls(def.did)
365359
.iter()
366-
.map(|imp_did| item_from_def_id(cx, *imp_did))
360+
.map(|imp_did| cx.tcx.hir().expect_item(imp_did.expect_local()))
367361
.any(|imp| has_unsafe(cx, imp));
368362
then {
369363
span_lint_and_help(

clippy_lints/src/methods/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1939,7 +1939,7 @@ impl<'tcx> LateLintPass<'tcx> for Methods {
19391939
return;
19401940
}
19411941
let name = impl_item.ident.name.as_str();
1942-
let parent = cx.tcx.hir().get_parent_item(impl_item.hir_id());
1942+
let parent = cx.tcx.hir().get_parent_did(impl_item.hir_id());
19431943
let item = cx.tcx.hir().expect_item(parent);
19441944
let self_ty = cx.tcx.type_of(item.def_id);
19451945

clippy_lints/src/non_copy_const.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,8 @@ impl<'tcx> LateLintPass<'tcx> for NonCopyConst {
279279

280280
fn check_impl_item(&mut self, cx: &LateContext<'tcx>, impl_item: &'tcx ImplItem<'_>) {
281281
if let ImplItemKind::Const(hir_ty, body_id) = &impl_item.kind {
282-
let item_hir_id = cx.tcx.hir().get_parent_node(impl_item.hir_id());
283-
let item = cx.tcx.hir().expect_item(item_hir_id);
282+
let item_def_id = cx.tcx.hir().get_parent_did(impl_item.hir_id());
283+
let item = cx.tcx.hir().expect_item(item_def_id);
284284

285285
match &item.kind {
286286
ItemKind::Impl(Impl {

clippy_lints/src/self_named_constructors.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ impl<'tcx> LateLintPass<'tcx> for SelfNamedConstructors {
5050
_ => return,
5151
}
5252

53-
let parent = cx.tcx.hir().get_parent_item(impl_item.hir_id());
53+
let parent = cx.tcx.hir().get_parent_did(impl_item.hir_id());
5454
let item = cx.tcx.hir().expect_item(parent);
5555
let self_ty = cx.tcx.type_of(item.def_id);
5656
let ret_ty = return_ty(cx, impl_item.hir_id());

clippy_lints/src/unused_self.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ impl<'tcx> LateLintPass<'tcx> for UnusedSelf {
4141
if impl_item.span.from_expansion() {
4242
return;
4343
}
44-
let parent = cx.tcx.hir().get_parent_item(impl_item.hir_id());
44+
let parent = cx.tcx.hir().get_parent_did(impl_item.hir_id());
4545
let parent_item = cx.tcx.hir().expect_item(parent);
4646
let assoc_item = cx.tcx.associated_item(impl_item.def_id);
4747
if_chain! {

0 commit comments

Comments
 (0)