Reading
The chapters are ordered by dependency. Their labels describe how deeply to study them:
- Essential: write it, debug it, and explain it without notes.
- Important: use it confidently and explain its main tradeoffs.
- Recognition: know why it exists and where it appears; defer the internals.
For every example, pause before reading the explanation. Predict whether it compiles. If it does, predict its output. If it does not, point to the precise ownership, type, or lifetime relationship that fails.
Use this four-step loop:
predict → compile → explain → change one thing
The final step matters. Change an owned parameter to a borrowed one, replace an iterator method, move a value into a closure, or alter a match arm. Small experiments turn vocabulary into a working model.