An introduction to Rust covering mutability, borrowing, and ownership (how Rust manages memory without a mandatory garbage collector or reference counting).
improvements since prior edition Opportunity to change Rust itself (new keywords, semantics, etc.) Editions are opt-in Default is always Rust 2015 Editions
improvements since prior edition Opportunity to change Rust itself (new keywords, semantics, etc.) Editions are opt-in Default is always Rust 2015 Compiler will always support all previous editions Rust 2015 code can depend on Rust 2018 code, and vice versa Editions
build, test, etc. tool for Rust code Clippy — Comprehensive code linting tool Rustfmt — Automatic code formatting RLS — Language Server Protocol implementation for Rust Tooling Works great with Visual Studio Code!
main() { let mut point = Point { x: 0, y: 0 }; println!("Current value: {:?}", &point); let foo = &mut point; foo.x = 1; foo.y = 2; // What happens if you move this up a few lines, between foo.x and foo.y? println!("Current value: {:?}", &point); }