Programming

Rust에서 사용하지 않는 코드 경고를 비활성화하는 방법은 무엇입니까?

procodes 2020. 5. 24. 20:41
반응형

Rust에서 사용하지 않는 코드 경고를 비활성화하는 방법은 무엇입니까?


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공개 해야합니다 .

이것은 라이브러리를 작성할 때 의미가 있습니다. 코드는 클라이언트 코드에서 사용되기 때문에 내부적으로 "사용되지 않습니다".

참고 URL : https://stackoverflow.com/questions/25877285/how-to-disable-unused-code-warnings-in-rust

반응형