帮助测试 Rust 2018

2018 年 10 月 30 日 · Rust 核心团队

早在 7 月,我们就讨论了 “Rust 2018”。简而言之,我们正在启动一个名为“版本”的长期里程碑周期。版本是一种方式,可以捕捉我们通常六周发布周期所带来的增量进展,并将 Rust 库、工具和文档紧密地围绕它整合起来。版本大约每三年选择一次:Rust 1.0 是 “Rust 2015”,而 Rust 1.31 将是 “Rust 2018”。每个版本都有一个主题;Rust 2015 的主题是“稳定性”,而 Rust 2018 的主题是“生产力”。

我们已经测试 Rust 2018 一段时间了,情况看起来相当不错!距离 Rust 1.31 发布还有不到六周的时间,因此,如果您能试用一下 beta 版本,我们将不胜感激。

有两种方法可以试用 Rust 2018:更新现有项目和启动新项目。有关详细信息,请查看版本指南,但本文的其余部分是一个快速入门指南,让它更容易上手。

如果出现任何问题或感到困惑,请提交问题并告知我们。我们想确保这是一个非常棒的版本!感谢您帮助我们使 Rust 变得更好。 <3

设置:安装 Rust beta

首先,您需要安装 Rust 的 beta 发布通道。使用 Rustup,它非常简单:

$ rustup install beta

要使用此 Rust 通道而不是您的默认通道,您可以在任何 rustc 或 cargo 命令中附加 +beta

$ rustc +beta --version
$ cargo +beta build

这允许您将稳定版作为默认版本,同时使用 beta 版进行实验。

启动一个新项目

要使用 Rust 2018 启动一个新项目

$ cargo +beta new my-sample-project

没什么变化!嗯,有些事情发生了变化。查看 Cargo.toml

[package]
name = "my-sample-project"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
edition = "2018"

[dependencies]

新的 edition = "2018" 键/值对意味着您正在使用 Rust 2018。如果它不存在,则与 edition = "2015" 相同,因此所有现有项目都将继续工作。

转换现有项目

您还可以将现有项目转换为 Rust 2018。请记住,您的任何依赖项都不需要更新即可使其正常工作;Rust 2018 和 2015 可以无缝互操作!

第一步是运行 cargo fix

$ cargo fix --edition

这将检查您的代码,并自动修复它可以修复的任何问题。cargo fix 仍然很新,因此它并不总是可以自动修复您的代码。如果 cargo fix 无法修复某些内容,它会将无法修复的警告打印到控制台。如果您看到其中一个警告,则必须手动更新您的代码。有关帮助,请参阅版本指南的相应部分,如果遇到问题,请在用户论坛上寻求帮助。

继续运行 cargo fix --edition 直到没有更多警告。

恭喜!您的代码现在在 Rust 2015 和 Rust 2018 中都有效!

完成后,您可以通过更新 Cargo.toml 来提交到 Rust 2018

[package]
name = "my-sample-project"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
edition = "2018"

[dependencies]

看到 edition = "2018" 了吗?这就是让您选择使用新功能的原因。设置它,cargo +beta build,您应该就可以了!