rust 如何在cargo文档中隐藏lazy_static crate生成的静态和函数?

osh3o9ms  于 2023-06-30  发布在  Go
关注(0)|答案(1)|浏览(118)

我正在为一个包含2个lazy_static宏调用的rust项目编写一个模块,当评估cargo doc生成的文档时,我看到有一堆Structs,Statics和Functions,它们旁边有一个锁,这些锁不在源代码中。有没有办法在货物单据生成的文件中隐藏它们?Picture of problem
我尝试在lazy_static宏的调用中添加#[doc(hidden)]属性,但没有成功。它确实适用于lazy_static生成的结构体(在本例中是正则表达式),当添加属性时,每个结构体的LAZY结构体的外观将消失,但当我试图将其添加到宏调用上方时,没有发生同样的情况。我希望它能工作,但我得到的是unused attribute doc

c3frrgcw

c3frrgcw1#

你可以使用一个模块来从文档中完全隐藏这些:

#[doc(hidden)]
mod statics {
    use lazy_static::lazy_static;

    lazy_static! {
        pub static ref THING: Vec<u8> = vec![1, 2, 3];
    }
}
use statics::*;

但我建议使用once_cell::sync::Lazy,因为它作为std::sync::LazyLock被合并到标准库中:

use once_cell::sync::Lazy;

static THING: Lazy<Vec<u8>> = Lazy::new(|| vec![1, 3, 3]);

相关问题