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

Riaccendo questi avvisi per qualcosa di serio, ma sto solo armeggiando con il linguaggio e questo mi sta facendo impazzire.Come disattivare gli avvisi di codice inutilizzati in Rust?

Ho provato ad aggiungere:

#[allow(dead_code)] 

al mio codice, ma che non ha funzionato.

risposta

127

È possibile aggiungere allow sul struct:

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

O si aggiunge un livello di cassa permette (nella cassa principale), notare il !:

#![allow(dead_code)] 

O si passa a rustc :

rustc -A dead_code main.rs 

O da cargo tramite th e RUSTFLAGS ambiente variabile:

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

È anche possibile utilizzare la versione non-bang su una dichiarazione 'mod foo', se si desidera qualcosa tra una singola struttura e l'intera cassa. –

+5

Posso passare '-A dead_code' tramite' cargo build'? – emlai

+9

Sebbene questa tecnica sia valida, di solito è una soluzione troppo ampia **. È molto meglio [usare un trattino basso] (http://stackoverflow.com/a/32751177/155423). – Shepmaster

31

Un altro modo per disattivare l'avviso è prefisso l'identificatore da _:

struct _UnusedStruct { 
    _unused_field: i32, 
} 

fn main() { 
    let _unused_variable = 10; 
} 

Ciò può essere utile, per esempio, con una finestra SDL:

let _window = video_subsystem.window("Rust SDL2 demo", 800, 600); 

Fare quanto segue non funzionerà come previsto, poiché la finestra verrà immediatamente distrutta:

let _ = video_subsystem.window("Rust SDL2 demo", 800, 600);