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(dead_code)]
struct SemanticDirection;
或者你可以通过在文件顶部添加属性来禁用整个文件的警告,如下所示:
#![allow(dead_code)]
struct SemanticDirection;
但是这些属性只有在启用dead_code lint时才有效。默认情况下,dead_code lint在Rust中是启用的,但你可以通过在代码顶部添加以下内容来禁用它:
#![deny(dead_code)]
这将禁用整个文件的dead_code lint。
保持dead_code lint的启用通常是一个好主意,因为它可以帮助您捕捉代码中的错误,并确保您没有在项目中引入不必要的代码。然而,当你只是在试验和尝试不同的东西时,它可能会很烦人,所以如果你想在这些情况下禁用它是可以理解的。