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
나는이 경고들을 심각한 것에 대해 다시 켤 것이나, 나는 단지 언어에 땜질을하고 있고 이것은 나를 박쥐로 이끌고있다.
#[allow(dead_code)]
내 코드에 추가하려고 시도했지만 작동하지 않았습니다.
답변
다음 중 하나를 수행 할 수 있습니다.
-
allow
구조체, 모듈, 함수 등에 속성을 추가하십시오 .#[allow(dead_code)] struct SemanticDirection;
-
크레이트 레벨
allow
속성 추가 ; 주목하십시오!
:#![allow(dead_code)]
-
그것을 전달하십시오
rustc
:rustc -A dead_code main.rs
-
환경 변수 를
cargo
통해 사용RUSTFLAGS
하십시오.RUSTFLAGS="$RUSTFLAGS -A dead_code" cargo build
답변
이 경고를 비활성화하는 다른 방법은 다음과 같이 식별자 앞에 접두사를 추가하는 것입니다 _
.
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);
답변
코드를 공개 하면 경고가 중지됩니다. 인클로저를 mod
공개 해야합니다 .
이것은 라이브러리를 작성할 때 의미가 있습니다. 코드는 클라이언트 코드에서 사용되기 때문에 내부적으로 “사용되지 않습니다”.
답변
또한 녹은 4 가지 수준의 보풀을 제공합니다 (허용, 경고, 거부, 금지).
https://doc.rust-lang.org/rustc/lints/levels.html#lint-levels