Rust
Learn Rust from the ground up: Cargo, ownership and borrowing, enums and pattern matching, errors as values, traits, generics and lifetimes. Then put it to work on systems problems — smart pointers, threads, async with Tokio — and finish by shipping a JSON web service with Axum. Examples target Rust 1.85+ and the 2024 edition.
- 16 lessons
- 3 stages
- 15 concept notes
- includes SQL & Databases (optional)
Your progress
0 / 15
required steps
+ 0/2 optional
Not started In progress Done Optional Pick one Embedded roadmap
- 01
Foundations
The toolchain, the syntax, and the ownership model everything else builds on.
- 01Getting startedrustup, Cargo, your first program and reading compiler errors.
- 02Rust basicsVariables, mutability, types, functions, control flow and expressions.
- 03OwnershipMoves, copies, clones and drop — how Rust frees memory without a GC.
- 04References & borrowingShared and mutable references, slices, and String vs &str.
- 05Structs, enums & pattern matchingModelling data, methods, Option and exhaustive match.
- 02
Core language
The everyday tools of idiomatic Rust.
- 06Error handlingResult, the ? operator, custom error types, thiserror and anyhow.
- 07Collections, closures & iteratorsVec, HashMap, closures and iterator chains that compile to loops.
- 08Traits & genericsShared behaviour, trait bounds, impl Trait and dyn Trait.
- 09LifetimesWhat lifetime annotations say, the elision rules and structs that borrow.
- 10Modules, crates & CargoVisibility, workspaces, dependencies and feature flags.
- 11Testing & toolingUnit, integration and doc tests, plus clippy and rustfmt.
- 03
Systems & production
Shared ownership, threads, async I/O — and a real service.
- 12Smart pointersBox, Rc, Arc, RefCell and Mutex — and when you need each.
- 13Fearless concurrencyThreads, scoped threads, channels, Mutex and Send/Sync.
- 14Async RustFutures, async/await, Tokio, spawning tasks and select!.
- 15Web services with AxumA JSON API with Axum and Serde: state, errors and graceful shutdown.
- Sq
Step 16 · Roadmap · 13 lessons · optional
SQL & Databases
Most services you build in Rust will sit on PostgreSQL.
0/13 - 17Unsafe Rust & FFI optionalWhat unsafe unlocks, sound abstractions and calling C.
- You made it.