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}