Skip to content

Commit 324c214

Browse files
committed
Split AssocContainer::{InherentImpl,TraitImpl}
1 parent d734981 commit 324c214

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

clippy_lints/src/missing_doc.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use rustc_hir::Attribute;
1616
use rustc_hir::def::DefKind;
1717
use rustc_hir::def_id::LocalDefId;
1818
use rustc_lint::{LateContext, LateLintPass, LintContext};
19-
use rustc_middle::ty::Visibility;
19+
use rustc_middle::ty::{AssocContainer, Visibility};
2020
use rustc_session::impl_lint_pass;
2121
use rustc_span::def_id::CRATE_DEF_ID;
2222
use rustc_span::symbol::kw;
@@ -246,12 +246,11 @@ impl<'tcx> LateLintPass<'tcx> for MissingDoc {
246246

247247
fn check_impl_item(&mut self, cx: &LateContext<'tcx>, impl_item: &'tcx hir::ImplItem<'_>) {
248248
// If the method is an impl for a trait, don't doc.
249-
if let Some(cid) = cx.tcx.associated_item(impl_item.owner_id).impl_container(cx.tcx) {
250-
if cx.tcx.impl_trait_ref(cid).is_some() {
249+
match cx.tcx.associated_item(impl_item.owner_id).container {
250+
AssocContainer::Trait | AssocContainer::TraitImpl(_) => {
251251
note_prev_span_then_ret!(self.prev_span, impl_item.span);
252-
}
253-
} else {
254-
note_prev_span_then_ret!(self.prev_span, impl_item.span);
252+
},
253+
AssocContainer::InherentImpl => {}
255254
}
256255

257256
let (article, desc) = cx.tcx.article_and_description(impl_item.owner_id.to_def_id());

clippy_lints/src/missing_inline.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ impl<'tcx> LateLintPass<'tcx> for MissingInline {
167167
let container_id = assoc_item.container_id(cx.tcx);
168168
let trait_def_id = match assoc_item.container {
169169
AssocContainer::Trait => Some(container_id),
170-
AssocContainer::Impl => cx.tcx.impl_trait_ref(container_id).map(|t| t.skip_binder().def_id),
170+
AssocContainer::TraitImpl(_) => cx.tcx.impl_trait_ref(container_id).map(|t| t.skip_binder().def_id),
171+
AssocContainer::InherentImpl => None,
171172
};
172173

173174
if let Some(trait_def_id) = trait_def_id

clippy_lints/src/missing_trait_methods.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ impl<'tcx> LateLintPass<'tcx> for MissingTraitMethods {
7070
.tcx
7171
.associated_items(item.owner_id)
7272
.in_definition_order()
73-
.filter_map(|assoc_item| assoc_item.trait_item_def_id)
73+
.filter_map(|assoc_item| assoc_item.expect_trait_impl().ok())
7474
.collect();
7575

7676
for assoc in cx

clippy_utils/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3251,7 +3251,7 @@ pub fn get_path_from_caller_to_method_type<'tcx>(
32513251
let def_id = assoc_item.container_id(tcx);
32523252
match assoc_item.container {
32533253
rustc_ty::AssocContainer::Trait => get_path_to_callee(tcx, from, def_id),
3254-
rustc_ty::AssocContainer::Impl => {
3254+
rustc_ty::AssocContainer::InherentImpl | rustc_ty::AssocContainer::TraitImpl(_) => {
32553255
let ty = tcx.type_of(def_id).instantiate_identity();
32563256
get_path_to_ty(tcx, from, ty, args)
32573257
},

0 commit comments

Comments
 (0)