mirror of https://github.com/rust-lang/rust.git
Auto merge of #5211 - krishna-veerareddy:rustup-69072, r=flip1995
Rustup to rust-lang/rust#69072 changelog: none
This commit is contained in:
commit
0d7ae7bd6f
|
@ -147,7 +147,7 @@ fn check_trait_items(cx: &LateContext<'_, '_>, visited_trait: &Item<'_>, trait_i
|
||||||
|
|
||||||
let is_empty_method_found = current_and_super_traits
|
let is_empty_method_found = current_and_super_traits
|
||||||
.iter()
|
.iter()
|
||||||
.flat_map(|&i| cx.tcx.associated_items(i))
|
.flat_map(|&i| cx.tcx.associated_items(i).in_definition_order())
|
||||||
.any(|i| {
|
.any(|i| {
|
||||||
i.kind == ty::AssocKind::Method
|
i.kind == ty::AssocKind::Method
|
||||||
&& i.method_has_self_argument
|
&& i.method_has_self_argument
|
||||||
|
@ -276,10 +276,12 @@ fn has_is_empty(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool {
|
||||||
|
|
||||||
/// Checks the inherent impl's items for an `is_empty(self)` method.
|
/// Checks the inherent impl's items for an `is_empty(self)` method.
|
||||||
fn has_is_empty_impl(cx: &LateContext<'_, '_>, id: DefId) -> bool {
|
fn has_is_empty_impl(cx: &LateContext<'_, '_>, id: DefId) -> bool {
|
||||||
cx.tcx
|
cx.tcx.inherent_impls(id).iter().any(|imp| {
|
||||||
.inherent_impls(id)
|
cx.tcx
|
||||||
.iter()
|
.associated_items(*imp)
|
||||||
.any(|imp| cx.tcx.associated_items(*imp).iter().any(|item| is_is_empty(cx, &item)))
|
.in_definition_order()
|
||||||
|
.any(|item| is_is_empty(cx, &item))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
let ty = &walk_ptrs_ty(cx.tables.expr_ty(expr));
|
let ty = &walk_ptrs_ty(cx.tables.expr_ty(expr));
|
||||||
|
@ -288,7 +290,7 @@ fn has_is_empty(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool {
|
||||||
if let Some(principal) = tt.principal() {
|
if let Some(principal) = tt.principal() {
|
||||||
cx.tcx
|
cx.tcx
|
||||||
.associated_items(principal.def_id())
|
.associated_items(principal.def_id())
|
||||||
.iter()
|
.in_definition_order()
|
||||||
.any(|item| is_is_empty(cx, &item))
|
.any(|item| is_is_empty(cx, &item))
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
|
|
|
@ -125,13 +125,7 @@ fn check_trait_method_impl_decl<'a, 'tcx>(
|
||||||
let trait_method = cx
|
let trait_method = cx
|
||||||
.tcx
|
.tcx
|
||||||
.associated_items(impl_trait_ref.def_id)
|
.associated_items(impl_trait_ref.def_id)
|
||||||
.iter()
|
.find_by_name_and_kind(cx.tcx, impl_item.ident, ty::AssocKind::Method, impl_trait_ref.def_id)
|
||||||
.find(|assoc_item| {
|
|
||||||
assoc_item.kind == ty::AssocKind::Method
|
|
||||||
&& cx
|
|
||||||
.tcx
|
|
||||||
.hygienic_eq(impl_item.ident, assoc_item.ident, impl_trait_ref.def_id)
|
|
||||||
})
|
|
||||||
.expect("impl method matches a trait method");
|
.expect("impl method matches a trait method");
|
||||||
|
|
||||||
let trait_method_sig = cx.tcx.fn_sig(trait_method.def_id);
|
let trait_method_sig = cx.tcx.fn_sig(trait_method.def_id);
|
||||||
|
|
Loading…
Reference in New Issue