Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 119247a

Browse files
committed
Remove DefId from AssocItemContainer.
1 parent d17a30a commit 119247a

File tree

3 files changed

+17
-14
lines changed

3 files changed

+17
-14
lines changed

clippy_lints/src/eta_reduction.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,9 +220,11 @@ fn check_sig<'tcx>(cx: &LateContext<'tcx>, closure_ty: Ty<'tcx>, call_ty: Ty<'tc
220220
}
221221

222222
fn get_ufcs_type_name(cx: &LateContext<'_>, method_def_id: DefId) -> String {
223-
match cx.tcx.associated_item(method_def_id).container {
224-
ty::TraitContainer(def_id) => cx.tcx.def_path_str(def_id),
225-
ty::ImplContainer(def_id) => {
223+
let assoc_item = cx.tcx.associated_item(method_def_id);
224+
let def_id = assoc_item.container_id(cx.tcx);
225+
match assoc_item.container {
226+
ty::TraitContainer => cx.tcx.def_path_str(def_id),
227+
ty::ImplContainer => {
226228
let ty = cx.tcx.type_of(def_id);
227229
match ty.kind() {
228230
ty::Adt(adt, _) => cx.tcx.def_path_str(adt.did()),

clippy_lints/src/missing_doc.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use clippy_utils::diagnostics::span_lint;
1010
use rustc_ast::ast;
1111
use rustc_hir as hir;
1212
use rustc_lint::{LateContext, LateLintPass, LintContext};
13-
use rustc_middle::ty::{self, DefIdTree};
13+
use rustc_middle::ty::DefIdTree;
1414
use rustc_session::{declare_tool_lint, impl_lint_pass};
1515
use rustc_span::def_id::CRATE_DEF_ID;
1616
use rustc_span::source_map::Span;
@@ -153,13 +153,12 @@ impl<'tcx> LateLintPass<'tcx> for MissingDoc {
153153

154154
fn check_impl_item(&mut self, cx: &LateContext<'tcx>, impl_item: &'tcx hir::ImplItem<'_>) {
155155
// If the method is an impl for a trait, don't doc.
156-
match cx.tcx.associated_item(impl_item.def_id).container {
157-
ty::TraitContainer(_) => return,
158-
ty::ImplContainer(cid) => {
159-
if cx.tcx.impl_trait_ref(cid).is_some() {
160-
return;
161-
}
162-
},
156+
if let Some(cid) = cx.tcx.associated_item(impl_item.def_id).impl_container(cx.tcx) {
157+
if cx.tcx.impl_trait_ref(cid).is_some() {
158+
return;
159+
}
160+
} else {
161+
return;
163162
}
164163

165164
let (article, desc) = cx.tcx.article_and_description(impl_item.def_id.to_def_id());

clippy_lints/src/missing_inline.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,11 @@ impl<'tcx> LateLintPass<'tcx> for MissingInline {
151151
hir::ImplItemKind::Const(..) | hir::ImplItemKind::TyAlias(_) => return,
152152
};
153153

154-
let trait_def_id = match cx.tcx.associated_item(impl_item.def_id).container {
155-
TraitContainer(cid) => Some(cid),
156-
ImplContainer(cid) => cx.tcx.impl_trait_ref(cid).map(|t| t.def_id),
154+
let assoc_item = cx.tcx.associated_item(impl_item.def_id);
155+
let container_id = assoc_item.container_id(cx.tcx);
156+
let trait_def_id = match assoc_item.container {
157+
TraitContainer => Some(container_id),
158+
ImplContainer => cx.tcx.impl_trait_ref(container_id).map(|t| t.def_id),
157159
};
158160

159161
if let Some(trait_def_id) = trait_def_id {

0 commit comments

Comments
 (0)