Skip to content

Rust

Big picture: the Rust book's concepts, in the order they depend on each other. Ownership is the center. Everything before it is the language you need in order to see what ownership is restricting.

Reading order

  1. Variables and mutability: bindings, mut, constants, and shadowing.
  2. Data types: scalars, compounds, and how values are stored.
  3. Functions: parameters and return values.
  4. Control flow: if, loops, and expressions.
  5. Ownership: which binding owns a value, and when it is dropped.
  6. Structs: grouping related data, and how ownership applies to fields.
  7. Enums: one value of several shapes, and pattern matching.
  8. Packages, crates, and modules: how code is split and made visible.
  9. Error handling: Result and Option instead of exceptions.
  10. Generics, traits, and lifetimes: one implementation, many types, and how long a reference lives.
  11. Functional features: closures and iterators.
  12. Smart pointers: Box, Rc, and RefCell when a plain owner is not enough.