相关疑难解决方法(0)

如何在Rust中为单个语句安静警告?

假设有一个警告,例如path_statements,unused_variables.有没有办法忽略它的一个瞬间,而不将它们隔离成代码块或函数?

需要说明的是,代码中只有一个警告.我希望能够只安静警告,而不必针对特定警告进行特殊更改.并且在其他任何地方都没有这种安静的警告,甚至在同一个功能中也是如此.

使用GCC,可以按如下方式完成:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat"
    /* Isolated region which doesn't raise warnings! */
    this_would_raise_Wformat(args);
#pragma GCC diagnostic pop
Run Code Online (Sandbox Code Playgroud)

Rust具有相同的功能吗?


请注意,我正在询问如何安静警告的一般情况.我知道有办法解决未使用的var警告,例如.

warnings rust

13
推荐指数
2
解决办法
1329
查看次数

如何防止 Cargo Clippy 分析生成的 Prost 文件

我正在使用 prost 为 protobuf 生成 Rust 类。我希望 Clippy 忽略这些生成的文件,但我无法弄清楚如何让 Clippy 忽略它们。

在我的 lib.rs 文件中,我有

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"));
}
Run Code Online (Sandbox Code Playgroud)

但是,我仍然收到 models.rs 和vehicle_features.rs 文件的警告。如何在不修改文件的情况下忽略clippy中的这些模块/文件。

编辑:根据以下建议,我将代码更改为:

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"));
}
Run Code Online (Sandbox Code Playgroud)

这在跑步时有效cargo clippy,但在跑步时不起作用cargo clippy -- -W unwrap_used有人知道为什么吗?当我向 Clippy 添加额外的警告参数时,如何使其工作?

编辑2:

我在这里找到了答案:How to disable a Clippy lint for a single line / block?

“clippy:all 实际上并不允许所有 lints,而是允许正确性、可疑性、风格、复杂性、cargo …

rust prost rust-clippy

2
推荐指数
1
解决办法
1022
查看次数

标签 统计

rust ×2

prost ×1

rust-clippy ×1

warnings ×1