为了了解 Rust 的工作原理,我决定看一看一个名为 Iota 的基于终端的小型文本编辑器。 .我克隆了存储库并运行 cargo build
只是被告知:
error: *if let* syntax is experimental help: add #![feature(if_let)] to the crate attributes to enable
我应该在哪里添加 #![feature(if_let)]
到 crate 属性?
最佳答案
crate 属性是应用于封闭上下文 (#![...]
) 的属性 (#[...]
)。此属性必须添加到您的crate root 的顶部,因此上下文就是 crate 本身:
#![attribute_name]
#![attribute_name(arg1, ...)]
如果你正在创作
- 一个库——crate root 将是一个名为
lib.rs
的文件
- 一个应用程序 — crate root 将是您构建的主要
.rs
文件。在许多情况下,这将被称为main.rs
- 一个集成测试 - crate root 是
tests/
中的每个文件
- 一个例子——crate root 是
examples/
中的每个文件
The Rust Programming Language和 Rust Reference大致谈谈属性。 The Unstable Book包含功能标志列表和有关它们功能的简要文档。
有许多不同的 crate 属性,但是 feature
crate 属性 (#![feature(feature1, feature2)]
) 只能在 中使用每晚 版本的编译器。不稳定的特性不允许在稳定的 Rust 版本中使用。
关于rust - 什么是 crate 属性,我应该在哪里添加它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27454761/