2014-09-16 5 views
89
music.rs|19 col 1| 22:2 warning: code is never used: 
`SemanticDirection`, #[warn(dead_code)] on by default 

Я верну эти предупреждения на что-нибудь серьезное, но я просто возился с языком, и это заставляет летучих мышей.Как отключить предупреждения о неиспользуемом коде в Rust?

Я попытался добавить:

#[allow(dead_code)] 

в мой код, но это не сработало.

ответ

127

Вы можете добавить allow на структуры:

#[allow(dead_code)] 
struct SemanticDirection { 
    ... 
} 

Или вы добавите уровень клеть позволяют (в основной обрешетке), обратите внимание на !:

#![allow(dead_code)] 

Или передать его rustc :

rustc -A dead_code main.rs 

or from cargo via th е переменная RUSTFLAGS среда:

RUSTFLAGS="$RUSTFLAGS -A dead_code" cargo build 
+0

Вы также можете использовать версию non-bang в объявлении 'mod foo', если вы хотите что-то между одной структурой и всем вашим ящиком. –

+5

Могу ли я передать '-And_code' через' load build'? – emlai

+9

Несмотря на то, что эта методика действительна, она обычно ** слишком широка для решения **. Намного лучше [использовать подчеркивание] (http://stackoverflow.com/a/32751177/155423). – Shepmaster

31

Другой способ отключить это предупреждение является префикс идентификатора по _:

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);