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)]到我的代码,但这并不管用。


当前回答

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

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

其他回答

公开代码也会停止警告;你还需要将封闭的mod设为public。

当你在编写一个库时,这是有意义的:你的代码在内部是“未使用的”,因为它是供客户端代码使用的。

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

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

对于未使用的函数,应该将函数设为public,但要注意。如果结构体不是公共的,那么你仍然会得到如下所示的错误:

//this should be public also
struct A{
   A{}
}

impl A {
    pub fn new() -> A {

    }
}

或者如果你不希望它是公共的,你应该输入#[allow(unused)]

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

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

在*的顶部。rs文件:

#![allow(unused)]  // FIXME