struct SemanticDirection;

fn main() {}
warning: struct is never used: `SemanticDirection`
 --> src/main.rs:1:1
  |
1 | struct SemanticDirection;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: #[warn(dead_code)] on by default

我将在任何严重的情况下重新打开这些警告,但我只是在修补语言,这让我很抓狂。

我尝试添加#[允许(dead_code)]到我的代码,但这并不管用。


当前回答

另一种禁用此警告的方法是在标识符前加上_:

struct _UnusedStruct {
    _unused_field: i32,
}

fn main() {
    let _unused_variable = 10;
}

这可能很有用,例如,在SDL窗口中:

let _window = video_subsystem.window("Rust SDL2 demo", 800, 600);

使用下划线作为前缀与使用单独的下划线作为名称是不同的。执行以下操作将立即破坏窗口,这可能不是预期的行为。

let _ = video_subsystem.window("Rust SDL2 demo", 800, 600);

其他回答

把这两行放在文件的顶部。

#![allow(dead_code)]
#![allow(unused_variables)]

另一种禁用此警告的方法是在标识符前加上_:

struct _UnusedStruct {
    _unused_field: i32,
}

fn main() {
    let _unused_variable = 10;
}

这可能很有用,例如,在SDL窗口中:

let _window = video_subsystem.window("Rust SDL2 demo", 800, 600);

使用下划线作为前缀与使用单独的下划线作为名称是不同的。执行以下操作将立即破坏窗口,这可能不是预期的行为。

let _ = video_subsystem.window("Rust SDL2 demo", 800, 600);

你可以:

在结构、模块、函数等上添加allow属性: #(允许(dead_code)) struct SemanticDirection; 添加一个板条箱级别的允许属性;注意!: (允许(dead_code)) # ! 将它传递给rustc: rustc -A dead_code main.rs 使用cargo通过RUSTFLAGS环境变量传递它: RUSTFLAGS="$RUSTFLAGS - dead_code"货物构建

另外,rust还提供了四个级别的检测(允许、警告、拒绝和禁止)。

https://doc.rust-lang.org/rustc/lints/levels.html#lint-levels

你可以通过在变量名后面加一个(_)来禁用未使用的变量/函数,如下所示:

let _variable = vec![0; 10];