如何记录二进制 Rust crate 项目?
How to document a binary Rust crate project?
我有一个用 Rust 编写的程序,我想记录它。我在线查看并发现:
- https://doc.rust-lang.org/stable/rust-by-example/meta/doc.html
- https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#appendix-a-full-conventions-text
我已经在代码中添加了文档注释:
/// 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) 到达稳定编译器。
我有一个用 Rust 编写的程序,我想记录它。我在线查看并发现:
- https://doc.rust-lang.org/stable/rust-by-example/meta/doc.html
- https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#appendix-a-full-conventions-text
我已经在代码中添加了文档注释:
/// 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) 到达稳定编译器。