rust 如何防止货物剪辑分析生成的prost文件

jckbn6z7  于 2023-01-02  发布在  其他
关注(0)|答案(1)|浏览(136)

我正在使用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)]

0sgqnhkj

0sgqnhkj1#

您需要允许clippy::all . #[allow(clippy::all)]位于模块外部,或者#![allow(clippy::all)]位于模块内部。

相关问题