Merge pull request #3270 from rust-lang-nursery/rustup

Rustup for https://github.com/rust-lang/rust/pull/54741
This commit is contained in:
Manish Goregaokar 2018-10-05 22:35:04 -07:00 committed by GitHub
commit 32b1d1fc15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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