附录 E - 版本
在第 1 章中,你看到它向你的 Cargo.toml 文件中添加了一些关于版本的元数据。本附录讨论了这意味着什么!cargo new
Rust 语言和编译器的发布周期为 6 周,这意味着用户可以获得 源源不断的新功能。其他编程语言发布更大的 变化较少;Rust 更频繁地发布较小的更新。在 同时,所有这些微小的变化都会加起来。但从一个版本到另一个版本,它可以 很难回头说,“哇,在 Rust 1.10 和 Rust 1.31 之间,Rust 已经 变化很大!
每隔两三年,Rust 团队就会生成一个新的 Rust 版本。每 版将已登陆的功能整合到一个清晰的包中,其中包含 完全更新的文档和工具。新版本作为常规的一部分发货 六周的发布过程。
版本为不同的人提供不同的目的:
- 对于活跃的 Rust 用户,新版本将增量更改整合到 一个易于理解的软件包。
- 对于非用户,新版本标志着一些重大进步 landed,这可能使 Rust 值得再看一眼。
- 对于开发 Rust 的人来说,新版本为 项目作为一个整体进行。
在撰写本文时,有三个 Rust 版本可用:Rust 2015、Rust 2018 年和 Rust 2021 年。本书是使用 Rust 2021 版的惯用语编写的。
Cargo.toml 中的键指示编译器应该使用哪个版本
用于您的代码。如果 key 不存在,则 Rust 使用
值。edition
2015
每个项目都可以选择使用默认 2015 版本以外的版本。 版本可以包含不兼容的更改,例如包含新关键字 与代码中的标识符冲突。但是,除非您选择加入这些 更改,即使您升级了 Rust 编译器版本。
所有 Rust 编译器版本都支持在此之前存在的任何版本 compiler 的版本,它们可以链接任何受支持版本的 crate 一起。版本更改仅影响编译器最初解析的方式 法典。因此,如果您使用的是 Rust 2015,并且您的依赖项之一使用 Rust 2018 中,您的项目将编译并能够使用该依赖项。这 相反的情况,你的项目使用 Rust 2018 而依赖项使用 Rust 2015 也有效。
需要明确的是:大多数功能将在所有版本上可用。使用 任何 Rust 版本都会随着新的稳定版本而继续得到改进 䍬。但是,在某些情况下,主要是在添加新关键字时,一些新的 功能可能仅在更高版本中可用。您将需要切换 版(如果您想利用此类功能)。
有关更多详细信息,请参阅 Edition
Guide 是一本完整的书
关于版本列举版本之间的差异并说明
如何通过 .cargo fix
本文档由官方文档翻译而来,如有差异请以官方英文文档(https://doc.rust-lang.org/)为准