我正在使用prost为protobufs生成rust类,我想让clippy忽略这些生成的文件,但我在弄清楚如何让clippy忽略它们时遇到了麻烦。
In my lib.rs file, I have
pub mod modes {
#[allow(clippy)]
include!(concat!(env!("OUT_DIR"), "/modes.rs"));
}
#[allow(clippy)]
pub mod vehicle_features {
include!(concat!(env!("OUT_DIR"), "/vehicle_features.rs"));
}
However, I still get clippy warnings for both the modes.rs and vehicle_features.rs files. How do I ignore these modules / files in clippy, without modifing the files at all.
编辑:基于以下建议,我将代码更改为:
pub mod modes {
#![allow(clippy::all)]
include!(concat!(env!("OUT_DIR"), "/modes.rs"));
}
pub mod vehicle_features {
#![allow(clippy::all)]
include!(concat!(env!("OUT_DIR"), "/vehicle_features.rs"));
}
这在运行cargo clippy
时有效,但在运行cargo clippy -- -W unwrap_used
时无效,有人知道为什么吗?当我向clippy添加额外的警告参数时,我如何使它工作?
编辑2:
我在这里找到了答案:How to disable a clippy lint for a single line / block?
clippy:all实际上并不允许所有的lints,而是指包含在correctness,suscreable,style,complexity,cargo和perf中的所有东西。这意味着没有迂腐的或幼稚的lints。
所以我必须加上#![allow(clippy::all, clippy::pedantic, clippy::nursery)]
1条答案
按热度按时间0sgqnhkj1#
您需要允许
clippy::all
.#[allow(clippy::all)]
位于模块外部,或者#![allow(clippy::all)]
位于模块内部。