如果您查看docs.rs 上的 Tokio 文档,则会有一个蓝色标记表示必须激活某个功能才能访问此 API:
我也想为我的箱子启用这个功能,怎么做?
坏消息是:它现在只是夜间功能。
好消息是:docs.rs 默认使用 nightly。
要使其正常工作,您只需启用该doc_cfg
功能并应用于#doc(cfg)
正在记录的项目
#![feature(doc_cfg)]
#[doc(cfg(feature = "macros"))]
pub fn test() {}
因为这是仅夜间功能,您可能不想一直启用它。tokio
在其中定义以下内容Cargo.toml
以仅在 docs.rs 上启用此功能:
# docs.rs-specific configuration
[package.metadata.docs.rs]
# document all features
all-features = true
# defines the configuration attribute `docsrs`
rustdoc-args = ["--cfg", "docsrs"]
然后他们使用
// only enables the `doc_cfg` feature when
// the `docsrs` configuration attribute is defined
#![cfg_attr(docsrs, feature(doc_cfg))]
#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
pub fn test() {}
在最新的 nightly 中(可能从 v1.57 开始),您可以使用功能doc_auto_cfg
(在PR#90502中合并)并且您不再需要手动标记功能doc
,只需像以前一样编写cfg
:
#![feature(doc_auto_cfg)]
#[cfg(feature = "macros")]
pub fn test() {}
要在本地检查它,请运行cargo +nightly doc --all-features
.
如果您想继续对 以外的命令使用 stable cargo doc
,您可以:
#![cfg_attr(doc, feature(doc_auto_cfg))]
#[cfg(feature = "macros")]
pub fn test() {}