From 53d41e5c504b8dd535c25aaf2f0008fa525cbb9d Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Fri, 5 Oct 2018 13:41:40 -0700 Subject: [PATCH] Rustup for https://github.com/rust-lang/rust/pull/54741 --- clippy_lints/src/lifetimes.rs | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/clippy_lints/src/lifetimes.rs b/clippy_lints/src/lifetimes.rs index 62e308bb585..dbd433bc909 100644 --- a/clippy_lints/src/lifetimes.rs +++ b/clippy_lints/src/lifetimes.rs @@ -344,24 +344,21 @@ impl<'a, 'tcx> Visitor<'tcx> for RefVisitor<'a, 'tcx> { self.record(&None); }, TyKind::Path(ref path) => { - if let QPath::Resolved(_, ref path) = *path { - if let Def::Existential(def_id) = path.def { - let node_id = self.cx.tcx.hir.as_local_node_id(def_id).unwrap(); - if let ItemKind::Existential(ref exist_ty) = self.cx.tcx.hir.expect_item(node_id).node { - for bound in &exist_ty.bounds { - if let GenericBound::Outlives(_) = *bound { - self.record(&None); - } - } - } else { - unreachable!() - } - walk_ty(self, ty); - return; - } - } + self.collect_anonymous_lifetimes(path, ty); } + TyKind::Def(item, _) => { + if let ItemKind::Existential(ref exist_ty) = self.cx.tcx.hir.expect_item(item.id).node { + for bound in &exist_ty.bounds { + if let GenericBound::Outlives(_) = *bound { + self.record(&None); + } + } + } else { + unreachable!() + } + walk_ty(self, ty); + } TyKind::TraitObject(ref bounds, ref lt) => { if !lt.is_elided() { self.abort = true;