为了了解 Rust 的工作原理,我决定看一个名为 Iota 的基于终端的文本编辑器。我克隆了存储库并运行 cargo build 只是被告知:



我应该在哪里将 #![feature(if_let)] 添加到 crate 属性?

最佳答案

crate 属性是一个适用于封闭上下文 (#[...]) 的属性 (#![...])。此属性必须添加到 crate 根的顶部,因此上下文是 crate 本身:

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

如果您正在创建
  • 一个库——包根将是一个名为 lib.rs
  • 的文件
  • 一个应用程序 — crate 根将是您构建的主要 .rs 文件。在许多情况下,这将被称为 main.rs
  • 集成测试 - crate 根是 tests/
  • 中的每个文件
  • 一个例子 - crate 根是 examples/
  • 中的每个文件


    The Rust Programming LanguageRust Reference 大致讨论了一些属性。 The Unstable Book 包含功能标志列表和关于它们做什么的简要文档。

    有许多不同的 crate 属性,但是 feature crate 属性( #![feature(feature1, feature2)] )只能在 nightly 版本的编译器中使用不允许在稳定的 Rust 版本中使用不稳定的功能。

    关于rust - 什么是 crate 属性,我应该在哪里添加它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27454761/

    10-13 08:20