The 2018 edition
Rust in the 2015 edition is essentially the 1.0 version with a few non-breaking additions. Between 2015 and 2018, however, features and Requests for Comments (RFCs), Rust's way of changing core features with the community, accumulated, and worries about backward compatibility arose.
With the goal of keeping this compatibility, editions were introduced and, with the first additional edition, many major changes made it into the language:
- Changes to the module path system
- dyn Trait and impl Trait syntax
- async/await syntax
- Simplifications to the lifetime syntax
With these additions, Rust will introduce asynchronous programming into its syntax (async/await keywords) and improve the language's usability. This book uses the Rust 2018, released on December 6, 2018 (https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html) edition by default, so all the following snippets will already include these new language features!