2014-12-13 8 views
27

Per capire come funziona Rust, ho deciso di guardare un piccolo editor di testi chiamato Iota. Ho clonato il repository e corsi cargo build solo per sentirsi dire:Che cos'è un attributo di cassa e dove lo aggiungo?

error: *if let* syntax is experimental 

help: add #![feature(if_let)] to the crate attributes to enable 

Dove dovrei aggiungere #![feature(if_let)] agli attributi cassa?

+2

Come nota a margine, le nuove build (notturne) di Rust hanno abilitato questa funzionalità per impostazione predefinita, quindi l'aggiornamento di Rust rimuoverà anche il tuo problema. – Shepmaster

risposta

24

Un attributo di cassa è un attributo (#[...]) che si applica al contesto di inclusione (#![...]). Questo attributo deve essere aggiunto alla parte superiore del vostro cassa radice, in tal modo il contesto è la cassa in sé:

#![attribute_name] 
#![attribute_name(arg1, ...)] 

Se si sta creando una biblioteca, la radice cassa sarà un file chiamato lib.rs. Se si sta creando un'applicazione, la radice del contenitore sarà il file principale .rs che si sta creando.


The Rust Programming Language, first edition parla un po 'di attributi in generale, e le Rust Reference parla di "cassa attributi di sola". The Unstable Book contiene un elenco di flag di funzionalità e una breve documentazione su ciò che fanno.

Ci sono molti attributi cassa differenti, ma l'attributo feature cassa (#![feature(feature1, feature2)]) può essere utilizzato solo in una notte versione del compilatore. Le caratteristiche instabili non possono essere utilizzate nelle versioni Rust stabili.

Problemi correlati