如何编写crate-wide文档?

时间:2016-03-23 17:03:23

标签: documentation rust

为了确保记录我的箱子的所有公共工件(如果最低限度开始),我在#![deny(missing_docs)]中指定了lib.rs。这种情况适得其反。

我希望在顶部编写文档注释,然后编写代码:

/// Hello world example for Rust.

#![deny(missing_docs)]

fn main() {
    println!("Hello world!");
}

这失败了:

error: an inner attribute is not permitted following an outer doc comment
 --> src/main.rs:3:3
  |
3 | #![deny(missing_docs)]
  |   ^
  |
  = note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files. Outer attributes, like `#[test]`, annotate the item following them.

恢复顺序,使属性为第一,注释为第二:

#![deny(missing_docs)]

/// Hello world example for Rust.

fn main() {
    println!("Hello world!");
}

也失败了:

error: missing documentation for crate
 --> src/main.rs:1:1
  |
1 | / #![deny(missing_docs)]
2 | |
3 | | /// Hello world example for Rust.
4 | |
5 | | fn main() {
6 | |     println!("Hello world!");
7 | | }
  | |_^
  |
note: lint level defined here
 --> src/main.rs:1:9
  |
1 | #![deny(missing_docs)]
  |         ^^^^^^^^^^^^

我找不到如何为箱子本身编写文档。我应该如何编写包装箱文件以满足#![deny(missing_docs)]

1 个答案:

答案 0 :(得分:9)

我在book's Publishing a Crate to Crates.io section找到了隐藏的金块。

常规文档注释(从.td1, .td2 {width:250px; border-bottom:solid 1px gray; text-align:left; vertical-align:top;} .td1 {font-weight:bold;} .td2 {font-style:italic;} 开始)记录了 next 项目,但是下一个没有人的箱子。

解决方案是切换到使用其他类型的评论,这次以///开头,其中记录了封闭的项。

突然之间有效:

//!