如何记录二进制 Rust crate 项目?

How to document a binary Rust crate project?

我有一个用 Rust 编写的程序,我想记录它。我在线查看并发现:

我已经在代码中添加了文档注释:

/// This is a documented function
fn example() {
    println!("Hi there");
}

我现在遇到的问题是,在我 运行 cargo doc 之后,我得到了为我的程序使用的所有板条箱生成的所有其他文档,但是 HTML 文档不诱导我的程序。我环顾四周,没有看到任何关于只记录单个程序的内容,通常我看到 material 关于记录 crates。如果我可以将 Rust 的文档系统用于独立程序,我该怎么做?

问题是你的函数是私有的(这对二进制 crate 来说是有意义的)。然而,rustdoc 目前默认只记录 public 项(这对于库 crate 有意义)。您可以使用标志 --document-private-items 来包含私有函数等:

cargo doc --document-private-items

有一些关于此功能的讨论以及我们应该使用的默认设置 here

此外,我 recently opened a PR 更改二进制包的默认行为,以便默认记录二进制包的私有项。此更改预计将于 2020 年 1 月 31 日 (1.41.0) 到达稳定编译器。