2014-12-13 32 views
27

为了感受Rust如何工作,我决定看一下名为Iota的基于终端的小型文本编辑器。我克隆的资源库,跑到cargo build却被告知:什么是箱子属性,我在哪里添加它?

error: *if let* syntax is experimental 

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

我应该在哪里添加#![feature(if_let)]板条箱属性?

+2

作为一个侧面说明,较新的(夜间)Rust的版本默认启用了此功能,因此更新Rust也会消除您的问题。 – Shepmaster 2014-12-13 03:16:48

回答

24

箱子属性是应用于封闭上下文(#![...])的属性(#[...])。此属性必须添加到您的箱根的顶部,这样的背景下是箱子本身:

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

如果你正在创建一个图书馆,板条箱根将是一个名为lib.rs文件。如果你正在创建一个应用程序,那么这个箱根就是你构建的主文件.rs


The Rust Programming Language, first edition谈到“板条箱仅属性”有点对一般属性,并且Rust Reference会谈。 The Unstable Book包含功能标记列表和他们所做的简要文档。

有许多不同的板条箱的属性,但feature箱属性(#![feature(feature1, feature2)])可以仅在夜间版本的编译器来使用。不稳定的功能不允许在稳定的Rust版本中使用。

相关问题