if ast_util::is_local(did) || cache.inlined.contains(&did) {
Some(repeat("../").take(loc.len()).collect::<String>())
} else {
- match cache.extern_locations[&did.krate] {
+ match cache.extern_locations[did.krate] {
render::Remote(ref s) => Some(s.to_string()),
render::Local => {
Some(repeat("../").take(loc.len()).collect::<String>())
needs_termination = true;
}
Some(&cnum) => {
- let path = &m.paths[&ast::DefId {
+ let path = &m.paths[ast::DefId {
krate: cnum,
node: ast::CRATE_NODE_ID,
}];
- let loc = match m.extern_locations[&cnum] {
+ let loc = match m.extern_locations[cnum] {
render::Remote(ref s) => Some(s.to_string()),
render::Local => {
let len = CURRENT_LOCATION_KEY.with(|s| s.borrow().len());
// located, then we return `None`.
} else {
let cache = cache();
- let path = &cache.external_paths[&self.item.def_id];
- let root = match cache.extern_locations[&self.item.def_id.krate] {
+ let path = &cache.external_paths[self.item.def_id];
+ let root = match cache.extern_locations[self.item.def_id.krate] {
Remote(ref s) => s.to_string(),
Local => self.cx.root_path.clone(),
Unknown => return None,
path = if ast_util::is_local(it.def_id) {
cx.current.connect("/")
} else {
- let path = &cache.external_paths[&it.def_id];
+ let path = &cache.external_paths[it.def_id];
path[..path.len() - 1].connect("/")
},
ty = shortty(it).to_static_str(),
Some(tcx) => tcx,
None => return false
};
- let def = tcx.def_map.borrow()[&id].def_id();
+ let def = tcx.def_map.borrow()[id].def_id();
if !ast_util::is_local(def) { return false }
let analysis = match self.analysis {
Some(analysis) => analysis, None => return false