Skip to content
0:00 / 0:00

#rusteditions#rust2021#rust2018

Rusty Days 2020 - Steve Klabnik: Should we have a Rust 2021 edition?

Rust Wrocław

777 subscribers • 1 video on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Steve Klabnik
  • Linked in the descriptionSlides on rusty-days.org
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

4.1K views6 years ago2 recommendations

Programming languagesRustLanguage design and type systems

Steve Klabnik discusses the history and design of the Rust edition system and argues for a 2021 edition.

Agenda ► rusty-days.org/agenda Slides ►rusty-days.org/assets/slides/01-should-we-have-a-2021-editio… Playlist with all talks ► youtube.com/playlist?list=PLf3u8NhoEikhTC5radGrmmqdkOK-xMDoZ Follow ► Facebook: rusty-days.org/facebook Twitch: rusty-days.org/twitch Twitter: rusty-days.org/twitter This video ► In 2018, Rust adopted an "edition" system. This lets Rust evolve in ways that feel like breaking changes but are opt-in only, and that do not disturb the open-source ecosystem. Given that Rust 2018 happened three years after the initial 2015 release of Rust, this has everyone wondering: is 2021 the year we have our next edition? In this talk, Steve lays out his own feelings on this question, as well as talks about the history of the edition system, how it works, and what it might look like in 2021.

Why it's here

2 people recommend this

What people say. Recommended for its excellent explanation of the Rust edition system and the trade-offs of feature-based versus time-based releases.

u/Saefrochin r/rust • Recommends

On “Rust 2021 features list”

Steve Klabnik is arguing for a 2021 edition, and in general for editions to be demarcated by time not features like normal releases. Steve gave an excellent talk on them here: link to this video TLDW is that 2018 caused a lot of burnout and was a partial failure anyway. Remember how async/await was going to be in it then definitely wasn't, at all? And what did ship, shipped on the last possible release of 2018. Rust's normal release cadence exists to prevent exactly this situation. Let's apply the same tool to the same problem.

u/fullouterjoinin r/rust • Recommends

On “Implications of a Rust Edition Train”

If you haven't already, I recommend watching the link to this video all the way through. How would knowing there is an edition cadence change the language design decisions? 2018 edition was needed to make async a keyword. Without the edition mechanism, how would Rust or another language support that feature? `#define ASYNC @magic` or an `async!{` macro? The edition mechanism is beautiful and powerful, it should be used more. If I am a language designer and I know an edition is coming up, a cleaner design might be for a breaking change. If I have to convince folks that a) this is better b) will require a breaking change c) will require an edition, the that the roadblocks to language evolution will be…