about summary refs log tree commit diff
path: root/src/librustdoc/clean
diff options
context:
space:
mode:
authorNoah Lev <camelidcamel@gmail.com>2021-11-19 22:00:37 -0500
committerNoah Lev <camelidcamel@gmail.com>2021-11-19 22:00:37 -0500
commitbbc3825d26c0cdef066ca6aa665f85241befc3d0 (patch)
tree491d781acd3bfbf2056e025fb53c457335e1d782 /src/librustdoc/clean
parent6c017f071d5894a75c3cb37aa48791e77f50a8f2 (diff)
downloadrust-bbc3825d26c0cdef066ca6aa665f85241befc3d0.tar.gz
rust-bbc3825d26c0cdef066ca6aa665f85241befc3d0.zip
rustdoc: Move doc-reachability visiting back to cleaning
It populates `cx.cache.access_levels`, which seems to be needed during
cleaning since a bunch of tests are failing.
Diffstat (limited to 'src/librustdoc/clean')
-rw-r--r--src/librustdoc/clean/utils.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs
index 69f908b5851..9860b21e0a9 100644
--- a/src/librustdoc/clean/utils.rs
+++ b/src/librustdoc/clean/utils.rs
@@ -7,6 +7,7 @@ use crate::clean::{
 };
 use crate::core::DocContext;
 use crate::formats::item_type::ItemType;
+use crate::visit_lib::LibEmbargoVisitor;
 
 use rustc_ast as ast;
 use rustc_ast::tokenstream::TokenTree;
@@ -26,6 +27,11 @@ mod tests;
 crate fn krate(cx: &mut DocContext<'_>) -> Crate {
     let module = crate::visit_ast::RustdocVisitor::new(cx).visit();
 
+    for &cnum in cx.tcx.crates(()) {
+        // 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);