rustrust-cargorustdoc

How to generate documentation for private items


I have a project with:

main.rs
module_1/mod.rs
module_2/mod.rs
module_2/module_3/mod.rs

when I run cargo doc, I have just documentation for main.rs, not for modules.

In my main.rs I have:

mod module_1;
mod module_2;

fn main() {
...
}

I have tried documenting modules using /// or //!.

I can't find in rustdoc's help how do that.

Somebody can explain me?


Solution

  • This is because those modules are private, and the default behavior is to document public members only.

    As of Rust 1.29.0, cargo doc supports --document-private-items, to document private items.

    Before 1.29, rustdoc already supported the flag --document-private-items, which means you could generate documentation for your project using cargo rustdoc -- --document-private-items, but cargo doc did not support the flag.