Auto merge of #5211 - krishna-veerareddy:rustup-69072, r=flip1995

Rustup to rust-lang/rust#69072

changelog: none
This commit is contained in:
bors 2020-02-21 06:19:02 +00:00
commit 0d7ae7bd6f
2 changed files with 9 additions and 13 deletions

View File

@ -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

View File

@ -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);