是否可以永久/系统范围内禁用 Rust 编译器发出的非蛇形警告?

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

我知道

#![allow(non_snake_case)]
但这只会禁用该特定文件/项目的警告。

如果您想知道,我是一个学习 rust 的初学者,每次重新编译时都会出现这样的警告,老实说非常无益且烦人。我的意思是,当我努力做基本的事情时,变量名非蛇形大小写是我最不用担心的,宝贵的屏幕空间被无用的警告占用是不对的。更不用说 _ 字符使用大量空间并且无助于赋予变量名称含义。

rust rust-cargo rust-compiler-plugin
1个回答
0
投票

就我个人而言,我认为你不应该这么做。也就是说,要在 Rust 中禁用系统范围内的非蛇形案例警告,您可以使用更通用的方法,包括通过环境变量或全局配置文件为 Rust 编译器 (rustc) 设置默认配置。不幸的是,Rust 不像其他一些语言那样支持简单的配置文件,但您可以通过设置环境或构建脚本来解决此问题,以便在所有项目中一致地应用此设置。

以下是一些需要考虑的方法:

1.使用
RUSTFLAGS
环境变量

您可以在 shell 中设置

RUSTFLAGS
环境变量以包含全局允许非蛇形情况的指令。这可以通过将以下行添加到 shell 配置文件中来完成(如
.bashrc
):

export RUSTFLAGS="-A non_snake_case"

每次在 shell 会话中编译 Rust 代码时,这都会附加标志以禁用

non_snake_case
lint。请注意,这将影响在此环境中编译的所有 Rust 项目。 当然,当您必须在 CI 中或每台机器上更改它时,这并不理想。

2.货物配置

如果您更喜欢不影响全局环境的基于 Cargo 的解决方案,您可以通过在主目录(或系统上相应的配置目录)中创建一个

.cargo/config.toml
文件来将 Cargo 配置为全局忽略某些 lints以下内容:

[build]
rustflags = ["-A non_snake_case"]

这将指示 Cargo 每次在您的系统上构建 Cargo 项目时将

-A non_snake_case
参数传递给
rustc
。该方法是 Cargo 特有的,不会影响没有 Cargo 编译的 Rust 代码。

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