rustdoc/passes/strip_priv_imports.rs
1//! Strips all private imports (`use`, `extern crate`) from a crate.
2
3use crate::clean;
4use crate::core::DocContext;
5use crate::fold::DocFolder;
6use crate::passes::ImportStripper;
7
8pub(super) fn strip_priv_imports(krate: clean::Crate, cx: &mut DocContext<'_>) -> clean::Crate {
9 if !cx.document_private() {
10 // We don't need to do anything since it'll be handled by the `strip_private` pass.
11 return krate;
12 }
13
14 let is_json_output = cx.is_json_output();
15 ImportStripper { tcx: cx.tcx, is_json_output, document_hidden: cx.document_hidden() }
16 .fold_crate(krate)
17}