1
Fork 0

rustdoc: Remove Crate.externs and compute on-demand instead

This commit is contained in:
Noah Lev 2021-11-19 21:16:48 -05:00
parent 331465a867
commit f41beab5cd
3 changed files with 16 additions and 23 deletions

View file

@ -24,17 +24,8 @@ use std::mem;
mod tests;
crate fn krate(cx: &mut DocContext<'_>) -> Crate {
use crate::visit_lib::LibEmbargoVisitor;
let module = crate::visit_ast::RustdocVisitor::new(cx).visit();
let mut externs = Vec::new();
for &cnum in cx.tcx.crates(()) {
externs.push(ExternalCrate { crate_num: cnum });
// Analyze doc-reachability for extern items
LibEmbargoVisitor::new(cx).visit_lib(cnum);
}
// Clean the crate, translating the entire librustc_ast AST to one that is
// understood by rustdoc.
let mut module = module.clean(cx);
@ -76,13 +67,7 @@ crate fn krate(cx: &mut DocContext<'_>) -> Crate {
}));
}
Crate {
module,
externs,
primitives,
external_traits: cx.external_traits.clone(),
collapsed: false,
}
Crate { module, primitives, external_traits: cx.external_traits.clone(), collapsed: false }
}
fn external_generic_args(