12

Rust 1.6.0 の時点で、生成されたドキュメントは各マクロ パターンの実装を非表示にします。

マクロの実装が非表示

Cargo で生成されたドキュメントから一部のパターンを非表示にする方法はありますか?

macro_rules! mc {
    // hide this entire pattern
    (@impl, $arg:expr) => { 42 + $arg };
    // but not this one
    ($arg:expr) => { mc!(@impl, $arg) };
}
4

2 に答える 2

9

これが最適なソリューションだと思います:

/// Not meant to be called directly
#[doc(hidden)]
#[macro_export]
macro_rules! hidden {
    ( $hidden_rule1:expr ) => { ... };
    ( $hidden_rule2:expr ) => { ... };
    ...
}

#[macro_export]
macro_rules! public {
    ( $public:expr ) => ( hidden!($public) );
}

これは別のhiddenマクロ (おそらく公開する必要があります) を使用しますが、これはドキュメントの一部ではありません。public非表示にする必要があるすべてのルールが非表示になり、ドキュメントの一部であるマクロでパブリック ルールが表示されます。

于 2016-02-21T20:29:11.177 に答える