The team behind Rust has announced plans to release the third edition of Rust, a programming language that is attracting the attention of Microsoft, Amazon Web Services, Google, Facebook, Mozilla, and Huawei.
The system programming language is sought after for its memory security guarantees and is seen as a replacement for code written in C / C ++.
Rust isn’t widely used yet, but the developers really love the language and it has the backing of tech giants. Google is even pushing for Rust to become a second language for Linux kernel drivers to reduce memory-related security bugs.
SEE: Hiring kit: Python developer (TechRepublic Premium)
The Rust team announced that the 2021 edition of Rust is expected to be available in October, which promises to “bring a significant improvement to the way Rust feels in practice.” It follows the Rust 2015 and Rust 2018 editions.
Some reasons Rust is popular with developers is that the project listens to developers and makes changes that are convenient for them, and has a developer friendly Rust compiler. It is also fast like C ++ and does not require execution or garbage collection.
While there are some disruptive changes to come, the team aims to minimize the impact of language changes. He explains in a blog post that editions such as the upcoming 2021 release are designed to deal with backward compatibility issues with Rust code.
“Edits are the mechanism we use to solve this problem. When we want to release functionality that would otherwise be incompatible with previous versions, we do so as part of a new Rust editing“, Explain Mara Bos, electronics engineer and contributor to Rust.
Rust reached version 1.0 in 2015 and became popular for system programming. It was hatched at Mozilla but is an open-source project. Extensions are managed through Rust’s Cargo Package Manager, which provides Rust developers with “crates” or add-ons, just like libraries that Python developers can use to extend the language’s capabilities.
“Editions are opt-in, so existing credit unions don’t see these changes until they explicitly migrate to the new edition,” Bos adds.
Bos marks a new keyword in Rust as an occasion where the volunteer supported project finds it useful to introduce a change that is not backward compatible as they invalidate variables of the same name. Hence the use of editions.
“This means that even the latest version of Rust will still be do not treat async as a keyword, unless the 2018 edition or later is chosen. This choice is made by case as part of its Cargo.toml. The new crates created by cargo new are always configured to use the latest stable edition, ”she explains.
“Our goal is to make it easier to upgrade checkouts to a new edition. When we publish a new edition, we also provide tools to automate migration. It makes minor changes to your code necessary to make it compatible with the new release, ”adds Bos.
The team also provides an edition migration guide to help developers be aware of small changes that could cause issues.
Rust 2021 introduces a new “prelude” to the Rust Standard Library to address situations where adding a trait to the prelude can break existing code.
It also brings a new default Cargo feature resolver, IntoIterator for Tables, Disjoint Capture in Closures, Panic Macros Consistency, and Reserves Syntax.
Bos warns that the voluntary nature of Project Rust means it may not meet the October target.
“Our plan is to merge and fully test these changes by September, to ensure that the 2021 release becomes Rust 1.56.0. Rust 1.56.0 will then be in beta for six weeks, after which it will be released. in stable release on October 21, ”writes Bos.
“However, note that Rust is a volunteer run project. We prioritize the personal well-being of everyone who works on Rust over deadlines and expectations we might have set. This could mean delaying the release of a version if necessary, or removing a feature that is proving too difficult or stressful to finish on time. “
Updated to clarify that this announcement was made by the Rust 2021 Edition Task Force team rather than the Rust Foundation.