8

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?

mcarton
  • 27,633
  • 5
  • 85
  • 95
bubulemaster
  • 221
  • 2
  • 8

1 Answers1

13

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.

mcarton
  • 27,633
  • 5
  • 85
  • 95
  • Hu, it seems documenting private items is now default (at least in 1.60). But then I would expect a command `--do-not-document-private-items` – jaques-sam May 18 '22 at 09:00