惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
博客园 - Franky
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
小众软件
小众软件
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
C
Check Point Blog
WordPress大学
WordPress大学
博客园 - 【当耐特】
博客园 - 司徒正美
D
Docker

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26
Help test Rust 2018
The Rust Core Team · 2018-10-30 · via Rust Blog

Back in July, we talked about "Rust 2018". In short, we are launching a cycle of long-term milestones called "Editions". Editions are a way to capture the progress delivered incrementally by our ordinary six-week release cycle -- and focus Rust libraries, tooling, and documentation cohesively around it. Editions will be selected roughly every three years: Rust 1.0 was "Rust 2015" and Rust 1.31 will be "Rust 2018". Each edition has a theme; Rust 2015's was "stability", and Rust 2018's is "productivity."

We've been testing Rust 2018 for a while already, and things are looking pretty good! We have just under six weeks until Rust 1.31 ships, and so we'd appreciate it if you could give the beta a try.

There's two ways to try out Rust 2018: updating an existing project, and starting a new one. For full details, please check out the Edition Guide, but the rest of this post is a quickstart to make it even easier.

If anything goes wrong, or is confusing, please file an issue and let us know. We want to make sure this is an extra-awesome release! Thank you for helping us make Rust even better. <3

Setup: install Rust beta

First things first, you'll need to install the beta release channel of Rust. With Rustup, it's as easy as:

$ rustup install beta

To use this channel of Rust instead of your default, you can append a +beta to any rustc or cargo commands:

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

This lets you stick to stable as the default, while using beta for your experiments.

Start a new project

To start a new project with Rust 2018:

$ cargo +beta new my-sample-project

Nothing changes! Well, something changed. Check out Cargo.toml:

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

[dependencies]

That new edition = "2018" key/value pair means you're working with Rust 2018. If it doesn't exist, it's the same as edition = "2015", so all existing projects keep working.

Convert an existing project

You can also convert an existing project to Rust 2018. Remember, none of your dependencies need to be updated for this to work; Rust 2018 and 2015 interoperate seamlessly!

The first step is to run cargo fix:

$ cargo fix --edition

This will check your code, and automatically fix any issues that it can. cargo fix is still pretty new, and so it can't always fix your code automatically. If cargo fix can't fix something, it will print the warning that it cannot fix to the console. If you see one of these warnings, you'll have to update your code manually. See the corresponding section of the edition guide for help, and if you have problems, please seek help at the user's forums.

Keep running cargo fix --edition until you have no more warnings.

Congrats! Your code is now valid in both Rust 2015 and Rust 2018!

Once this is done, you can commit to Rust 2018 by updating your Cargo.toml:

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

[dependencies]

See that edition = "2018"? That's what opts you in to the new features. Set it, cargo +beta build, and you should be good to go!