19

我目前正在与 Rust 和 Cargo 合作一个项目。它运行良好,但我遇到了一个小问题:为了代码重用,我的大部分项目都在一个 lib crate 中。在这个箱子里,很多东西都是私密的。所以当我这样做的时候cargo doc,我只有公开的、导出的东西的文档……这实际上很棒,因为很容易看出什么是导出的,什么不是。

但我不得不承认:出于开发目的,我错过了整个项目的完整文档......

4

4 回答 4

20

锈 1.41

默认情况下,二进制文件的文档包括二进制包中的私有项目。

锈 1.29

您现在可以使用cargo doc --document-private-items

之前的版本

你今天可能无法用 Cargo 来做,如果你直接使用 rustdoc 有一个解决方法。

运行cargo doc -v并记下它运行的 rustdoc 命令:

$ cargo doc -v
   Compiling docz v0.0.1 (file:///private/tmp/docz)
     Running `rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz -L dependency=/private/tmp/docz/target/debug -L dependency=/private/tmp/docz/target/debug/deps`

然后,添加--no-defaults --passes strip-hidden --passes collapse-docs --passes unindent-comments到命令:

rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz \
    -L dependency=/private/tmp/docz/target/debug \
    -L dependency=/private/tmp/docz/target/debug/deps \
    --no-defaults \
    --passes strip-hidden --passes collapse-docs --passes unindent-comments
于 2015-03-31T23:48:00.797 回答
9

使用货物记录私人物品:

cargo doc --document-private-items
于 2019-07-25T01:02:19.700 回答
8

这可以通过将参数传递给 rustdoc 来完成--,例如。

cargo rustdoc -- \
    --no-defaults \
    --passes strip-hidden \
    --passes collapse-docs \
    --passes unindent-comments \
    --passes strip-priv-imports

根据@Shepmaster 的回答,无需手动复制粘贴。

于 2016-09-07T15:56:55.407 回答
8

这现在更简单了,只需使用:

cargo rustdoc -- --document-private-items
于 2018-03-09T21:58:30.570 回答