使用 Pest 时如何修复枚举丢失的文档?

How can I fix missing documentation for an enum when using pest?

我使用 Pest 解析器解析我的输入,但它总是给我两个“缺少文档”警告:

#[allow(missing_copy_implementations, missing_docs)]
#[derive(Parser, Debug, Clone)]
#[grammar = "grammar.pest"]
pub struct MyParser;

导致:

warning: missing documentation for an enum
  --> src/lib.rs:76:10
   |
76 | #[derive(Parser, Debug, Clone)]
   |          ^^^^^^
   |
note: the lint level is defined here
  --> src/lib.rs:7:5
   |
7  |     missing_docs,
   |     ^^^^^^^^^^^^
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: missing documentation for a variant
  --> src/lib.rs:76:10
   |
76 | #[derive(Parser, Debug, Clone)]
   |          ^^^^^^
   |
   = note: this warning originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: 2 warnings emitted

我该如何解决?只有结构应该有文档,枚举应该是私有的。

派生宏可以选择在生成新类型时复制属性——因此理论上 Pest 可以将您的 #[allow(missing_docs)] 指令复制到它正在生成的枚举(或复制文档本身)。如果 Pest 不添加此功能,则抑制此警告的唯一选择是将 #![allow(missing_docs)] 放在文件顶部。