Skip to main content

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}