fn is_named_self(cx: &LateContext<'_>, item: &TraitItemRef, name: &str) -> bool {
item.ident.name.as_str() == name
&& if let AssocItemKind::Fn { has_self } = item.kind {
- has_self && {
- let did = cx.tcx.hir().local_def_id(item.id.hir_id);
- cx.tcx.fn_sig(did).inputs().skip_binder().len() == 1
- }
+ has_self && { cx.tcx.fn_sig(item.id.def_id).inputs().skip_binder().len() == 1 }
} else {
false
}
}
}
- if cx.access_levels.is_exported(visited_trait.hir_id) && trait_items.iter().any(|i| is_named_self(cx, i, "len")) {
+ if cx.access_levels.is_exported(visited_trait.hir_id()) && trait_items.iter().any(|i| is_named_self(cx, i, "len")) {
let mut current_and_super_traits = FxHashSet::default();
- let visited_trait_def_id = cx.tcx.hir().local_def_id(visited_trait.hir_id);
- fill_trait_set(visited_trait_def_id.to_def_id(), &mut current_and_super_traits, cx);
+ fill_trait_set(visited_trait.def_id.to_def_id(), &mut current_and_super_traits, cx);
let is_empty_method_found = current_and_super_traits
.iter()
fn is_named_self(cx: &LateContext<'_>, item: &ImplItemRef<'_>, name: &str) -> bool {
item.ident.name.as_str() == name
&& if let AssocItemKind::Fn { has_self } = item.kind {
- has_self && {
- let did = cx.tcx.hir().local_def_id(item.id.hir_id);
- cx.tcx.fn_sig(did).inputs().skip_binder().len() == 1
- }
+ has_self && cx.tcx.fn_sig(item.id.def_id).inputs().skip_binder().len() == 1
} else {
false
}
}
let is_empty = if let Some(is_empty) = impl_items.iter().find(|i| is_named_self(cx, i, "is_empty")) {
- if cx.access_levels.is_exported(is_empty.id.hir_id) {
+ if cx.access_levels.is_exported(is_empty.id.hir_id()) {
return;
}
"a private"
};
if let Some(i) = impl_items.iter().find(|i| is_named_self(cx, i, "len")) {
- if cx.access_levels.is_exported(i.id.hir_id) {
- let def_id = cx.tcx.hir().local_def_id(item.hir_id);
- let ty = cx.tcx.type_of(def_id);
+ if cx.access_levels.is_exported(i.id.hir_id()) {
+ let ty = cx.tcx.type_of(item.def_id);
span_lint(
cx,