In order to get a feel for how Rust works, I decided to look at a little terminal-based text editor called Iota. I cloned the repository and ran cargo build
only to be told:
error: *if let* syntax is experimental help: add #![feature(if_let)] to the crate attributes to enable
Where am I supposed to add #![feature(if_let)]
to the crate attributes?
A crate attribute is an attribute (#[...]
) that applies to the enclosing context (#![...]
). This attribute must be added to the top of your crate root, thus the context is the crate itself:
#![attribute_name] #![attribute_name(arg1, ...)]
If you are creating
lib.rs
.rs
file you build. In many cases, this will be called main.rs
tests/
examples/
The Rust Programming Language and the Rust Reference talk a bit about attributes in general. The Unstable Book contains a list of feature flags and brief documentation on what they do.
There are many different crate attributes, but the feature
crate attribute (#![feature(feature1, feature2)]
) may only be used in a nightly version of the compiler. Unstable features are not allowed to be used in stable Rust versions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With