diff options
Diffstat (limited to 'src/librustdoc/clean/mod.rs')
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 70 |
1 files changed, 2 insertions, 68 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index b489ccf179c..41a56756a14 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -17,8 +17,8 @@ use rustc::middle::resolve_lifetime as rl; use rustc::middle::lang_items; use rustc::middle::stability; use rustc::mir::interpret::{GlobalId, ConstValue}; -use rustc::hir::{self, HirVec}; -use rustc::hir::def::{self, Res, DefKind, CtorKind}; +use rustc::hir; +use rustc::hir::def::{CtorKind, DefKind, Res}; use rustc::hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc::ty::subst::{InternalSubsts, SubstsRef, UnpackedKind}; use rustc::ty::{self, DefIdTree, TyCtxt, Region, RegionVid, Ty, AdtKind}; @@ -4418,72 +4418,6 @@ where r } -// Start of code copied from rust-clippy - -pub fn path_to_def_local(tcx: TyCtxt<'_>, path: &[Symbol]) -> Option<DefId> { - let krate = tcx.hir().krate(); - let mut items = krate.module.item_ids.clone(); - let mut path_it = path.iter().peekable(); - - loop { - let segment = path_it.next()?; - - for item_id in mem::replace(&mut items, HirVec::new()).iter() { - let item = tcx.hir().expect_item(item_id.id); - if item.ident.name == *segment { - if path_it.peek().is_none() { - return Some(tcx.hir().local_def_id_from_hir_id(item_id.id)) - } - - items = match &item.node { - &hir::ItemKind::Mod(ref m) => m.item_ids.clone(), - _ => panic!("Unexpected item {:?} in path {:?} path") - }; - break; - } - } - } -} - -pub fn path_to_def(tcx: TyCtxt<'_>, path: &[Symbol]) -> Option<DefId> { - let crates = tcx.crates(); - - let krate = crates - .iter() - .find(|&&krate| tcx.crate_name(krate) == path[0]); - - if let Some(krate) = krate { - let krate = DefId { - krate: *krate, - index: CRATE_DEF_INDEX, - }; - let mut items = tcx.item_children(krate); - let mut path_it = path.iter().skip(1).peekable(); - - loop { - let segment = path_it.next()?; - - for item in mem::replace(&mut items, &[]).iter() { - if item.ident.name == *segment { - if path_it.peek().is_none() { - return match item.res { - def::Res::Def(DefKind::Trait, did) => Some(did), - _ => None, - } - } - - items = tcx.item_children(item.res.def_id()); - break; - } - } - } - } else { - None - } -} - -// End of code copied from rust-clippy - #[derive(Eq, PartialEq, Hash, Copy, Clone, Debug)] enum RegionTarget<'tcx> { Region(Region<'tcx>), |
