We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect
Rust learning tracks
RustGuided sequences that interleave written explainers with the problems that apply them. Tracks remember how far you got, and you can work one with friends as a squad. For a plain ordered run of problems, see the roadmap.
-
Orientation and the Gate
0 / 3
One file, one function, and a
clippy -D warningsgate that fails correct code. What the gate checks, how to read a rustc error, and why style violations are errors here. -
Ground Rules: Values, Types, Control Flow
0 / 23
Fluency with the compiler as teacher. Only
Copytypes appear — the "Rust behaves like C ints" model is installed deliberately so Track 2 can break it. -
Ownership I: Moves, Copy, Clone, Drop
0 / 18
Single ownership in isolation. No
&or&mutappears in this track and.clone()is explicitly permitted; every abstract claim is cashed out as a compiler error or a drop log. -
Ownership II: Borrowing and the Borrow Checker
0 / 21
&/&mutand aliasing XOR mutability..clone()is withdrawn here — the training wheels come off. The borrow checker as a proof system, not a linter. -
Shape Your Data: Structs, Enums, Pattern Matching
0 / 24
Model the domain so illegal states do not compile. Structs, enums, exhaustive
match, newtypes and the builder — where the type system first does work you can feel. -
Collections, Text and First Iterators
0 / 19
Vec,HashMap,BTreeMap, the Entry API, andStringvs&strvs bytes vs chars — plus enough iterator vocabulary to make Track 6 readable. -
Errors Are Values
0 / 19
Replace exceptions with types:
Option,Result,?as aFromconversion, error enums,Display/Errorby hand, and when a panic is the correct answer. -
Generics and Traits
0 / 20
Write code once for many types and name precisely the behaviour you depend on. The track that converts std's documentation from noise into a reference.
-
Ownership III: Lifetimes, Explicitly
0 / 8
Wall 2. Elision first, then the annotations — the first
'ayou write comes after you have met E0106 and read it as a question rather than a rejection. -
Closures and Iterators
0 / 25
How idiomatic Rust is actually written:
Fn/FnMut/FnOnce, capture modes, adapters and custom iterators. Performance appears here for the first time — displayed, not graded. -
Modules, Visibility, Testing and Docs
0 / 17
Structure, encapsulation and verification. The generated
main()sits outside your modules, so under-exposure fails to compile and over-exposure trips a lint — architecture, graded. -
Smart Pointers and Interior Mutability
0 / 22
Box,Rc,RefCell,Weak,Deref,Cow— and the honest arena-vs-Rc<RefCell<_>>argument, taught arena-first so the interior-mutability cliff is a choice rather than a trap. -
Trait Objects and Dispatch
0 / 7
Heterogeneous collections and the four-way choice between generics,
&dyn,Box<dyn>and enum dispatch — decided by measurement rather than folklore. -
Performance and Data Layout
0 / 17
Performance becomes graded: a ratio band gates the solve. Allocation budgets, capacity, layout, cache behaviour and the measurements that separate a real win from noise.
-
Fearless Concurrency: Threads, Channels, Shared State
0 / 22
Threads, scoped threads, channels,
Mutex/RwLock,Arcand deadlock. Deliberately before async — async is a scheduling mechanism for concurrency, not a synonym for it. -
Atomics, Send/Sync and the Memory Model
0 / 8
Where a competent Rust programmer becomes a systems programmer: atomics, orderings,
Send/Syncas auto traits — and an honest account of what cannot be observed without loom. -
Async From First Principles
0 / 19
Wall 3. With no tokio available the executor lives in your own file, so
Future,Waker,Pinand the async state machine stop being magic: you are the runtime. -
Unsafe and Soundness
0 / 19
Not "the escape hatch" but "the place you owe a proof": UB, raw pointers, invariants,
unsafeas an audit obligation, and the safe abstractions that discharge it. -
Macros, FFI and Type-Driven Design
0 / 20
macro_rules!, the C boundary (libc is already linked, so FFI is problem-rich here), and making the compiler enforce your design instead of your documentation. -
The Expert Edge: Idiom, Review and Capstones
0 / 11
Write Rust a senior reviewer would sign off on, and reason honestly about what things cost. Multi-track capstones that need several earlier tracks at once.