2016-03-23 19 views
4

私の箱のすべての公共の人工物が(最小限で始めるならば)文書化されるように、私はlib.rs#![deny(missing_docs)]を指定しましたが、それは逆効果でした。まず、コメント、属性の順序を元に戻すクレートワイドのドキュメントを作成するにはどうすればよいですか?

3:3: 3:4 error: an inner attribute is not permitted in this context 
3 #![deny(missing_docs)] 

/// Hello world example for Rust. 

#![deny(missing_docs)] 

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

これはで失敗します。

私は、それがドキュメンテーションコメントがトップであり、その後のコードので、次のようなコードを書くことを期待しました第二:

#![deny(missing_docs)] 

/// Hello world example for Rust. 

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

も失敗します。

1:1: 7:1 error: missing documentation for crate 
1 #![deny(missing_docs)] 

book's Documentation sectionには実際にクレート自体のドキュメントを書く方法があります。

したがって、#![deny(missing_docs)]を満たすにはどのようにクレートドキュメントを作成する必要がありますか?

答えて

8

実際には、book's Documentation sectionに隠れたナゲットが見つかりました。

通常のドキュメントコメント(///で始まる)次のアイテムを文書化します。ただし、箱は誰の次のものでもありません。

したがって、別の種類のコメントを使用するように切り替えることです。今度は//!で始まり、の項目を記載しています。

そして突然、それは動作します:

#![deny(missing_docs)] 

//! Hello world example for Rust. 

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

(!私は '' ///最初に試みが)それは仕事の属性どのように多少似ています。 – starblue

+0

@starblue:はい、私は「!」があることを認識したとき、私は属性との類似性が顕著であることを発見しました。私はそれが2人がどのくらい近くにあるかを考えればコードサンプルでうまくいくと思う。 –

関連する問題