宏调用文档中的简短警告

问题描述 投票:0回答:1

我有以下 Rust 基准代码。

criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);

Clippy lint 配置在

cargo.toml

[lints]
rust.missing_docs = "warn"

跑步时

cargo clippy --workspace --all-targets

我有以下警告。

warning: missing documentation for a function
  --> benches/b.rs:13:1
   |
13 | criterion_group!(benches, criterion_benchmark);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

按照 lint 的建议添加文档后。

/// doc
criterion_group!(benches, criterion_benchmark);

警告仍然存在。

warning: unused doc comment
  --> benches/b.rs:13:1
   |
13 | /// doc
   | ^^^^^^^ rustdoc does not generate documentation for macro invocations

我发现记录宏调用是不同的。但我使用的是库提供的。

如何让它发挥作用?

rust rust-clippy
1个回答
0
投票

您的宏调用

cargo expand
以下内容:

pub fn benches() {
    let mut criterion: ::criterion::Criterion<_> =
        ::criterion::Criterion::default().configure_from_args();
    criterion_benchmark(&mut criterion);
}
fn main() {
    benches();
    ::criterion::Criterion::default()
        .configure_from_args()
        .final_summary();
}

此处,

benches
函数未记录。记录宏调用并不会记录它生成的函数(考虑生成多个函数的宏的情况;单个文档注释如何涵盖所有函数?)。我看不出有什么方法可以记录生成的函数(除了向
criterion
提交 PR 以向宏添加文档支持之外)。

我的建议是在基准文件的顶部插入

#![allow(missing_docs)]
以免除它们的 lint。

© www.soinside.com 2019 - 2024. All rights reserved.