rustdoc/passes/strip_priv_imports.rs
1//! Strips all private import statements (use, extern crate) from a
2//! crate.
3
4use crate::clean;
5use crate::core::DocContext;
6use crate::fold::DocFolder;
7use crate::passes::{ImportStripper, Pass};
8
9pub(crate) const STRIP_PRIV_IMPORTS: Pass = Pass {
10 name: "strip-priv-imports",
11 run: Some(strip_priv_imports),
12 description: "strips all private import statements (`use`, `extern crate`) from a crate",
13};
14
15pub(crate) fn strip_priv_imports(krate: clean::Crate, cx: &mut DocContext<'_>) -> clean::Crate {
16 let is_json_output = cx.is_json_output();
17 ImportStripper { tcx: cx.tcx, is_json_output, document_hidden: cx.document_hidden() }
18 .fold_crate(krate)
19}