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 {
18        tcx: cx.tcx,
19        is_json_output,
20        document_hidden: cx.render_options.document_hidden,
21    }
22    .fold_crate(krate)
23}