Official docs outline
20 sections- Common programming concepts
Variables and mutability, shadowing, scalar and compound types, functions, comments and control flow.
- Understanding ownership
Ownership rules, move semantics, Copy vs Clone, stack vs heap, and drop.
- References and borrowing
Shared and mutable references, the borrow checker, dangling references and slices.
- Structs and methods
Defining structs, tuple structs, impl blocks, methods and associated functions.
- Enums and pattern matching
Enum variants with data, Option, match exhaustiveness, if let and let else.
- Packages, crates and modules
Crates, modules, paths, visibility with pub, use declarations and splitting code across files.
- Common collections
Vec, String and UTF-8, HashMap and ownership of stored values.
- Error handling
panic!, Result, the ? operator, unwrap/expect and when to panic.
- Generic types
Generic functions, structs and enums, monomorphization and zero-cost abstraction.
- Traits
Defining traits, default methods, trait bounds, impl Trait and blanket implementations.
- Lifetimes
Lifetime annotations, elision rules, lifetimes in structs and 'static.
- Automated tests
#[test], assertions, should_panic, unit vs integration tests and test organization.
- Closures and iterators
Closures capturing environment (Fn/FnMut/FnOnce), Iterator trait, adapters and lazy evaluation.
- Cargo and workspaces
Release profiles, publishing crates, workspaces and installing binaries.
- Smart pointers
Box, Deref, Drop, Rc, RefCell, interior mutability and reference cycles.
- Fearless concurrency
Threads, message passing with channels, Mutex, Arc, and the Send and Sync traits.
- Async programming
Futures, async/await, tasks, streams and how async differs from threads.
- Object-oriented features
Encapsulation, trait objects with dyn, dynamic dispatch and the state pattern.
- Patterns and matching
Pattern syntax, destructuring, refutability, guards and bindings.
- Advanced features
Unsafe Rust, advanced traits and types, function pointers and declarative and procedural macros.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.
Versions and support
6 release lines| Line | Released | Latest | Support |
|---|---|---|---|
| 1.99 | Oct 1, 2026 | 1.99.1 | Supported |
| 1.98 | Aug 20, 2026 | 1.98.1 | Ended Oct 1, 2026 |
| 1.97 | Jul 9, 2026 | 1.97.1 | Ended Aug 20, 2026 |
| 1.96 | May 28, 2026 | 1.96.1 | Ended Jul 9, 2026 |
| 1.95 | Apr 16, 2026 | 1.95.0 | Ended May 28, 2026 |
| 1.94 | Mar 6, 2026 | 1.94.1 | Ended Apr 16, 2026 |
Source: endoflife.date