Fab*_*tos 2 rust rust-cargo rustdoc
我正在为一个 rust 项目记录一个模块,其中包含 2 个lazy_static 宏调用,在评估由 Cargo doc 生成的文档时,我发现有一堆结构、静态和函数,旁边有一个锁,这些结构、静态和函数不在源代码中。有没有办法将它们隐藏在Cargo doc生成的文档中? 问题图片。
我尝试将该#[doc(hidden)]属性添加到lazy_static 宏的调用中,但它不起作用。它确实适用于由lazy_static(在本例中为正则表达式)生成的结构,当添加属性时,每个结构的LAZY结构的出现都会消失,但当我尝试将其添加到宏调用上方时,不会发生同样的情况。我原以为它能起作用,但我却得到了一个unused attribute doc.
您可以使用模块从文档中完全隐藏这些内容:
#[doc(hidden)]
mod statics {
use lazy_static::lazy_static;
lazy_static! {
pub static ref THING: Vec<u8> = vec![1, 2, 3];
}
}
use statics::*;
Run Code Online (Sandbox Code Playgroud)
但我建议改用once_cell::sync::Lazy它,因为它已被合并到标准库中std::sync::LazyLock:
use once_cell::sync::Lazy;
static THING: Lazy<Vec<u8>> = Lazy::new(|| vec![1, 3, 3]);
Run Code Online (Sandbox Code Playgroud)