Andrew Mercer
on this page

Rust

Rust is a systems programming language focused on performance, reliability, and memory safety without a garbage collector. Its ownership model, checked at compile time, eliminates whole classes of bugs (use-after-free, double frees, data races) while still compiling to fast native code. Paired with Cargo, its build tool and package manager, it's well suited to CLIs, network services, infrastructure tooling, and anything where correctness and speed both matter.

Guides

Fundamentals

  • Understanding Ownership, Moves, and Borrowing The core mental model behind Rust: scope and drop, moves, shared and mutable references, the borrowing rules, Copy vs. Clone, slices, lifetimes, and smart pointers like Rc, Arc, and Mutex. Includes a table of the most common ownership-related compiler errors and a checklist for working through them.
  • Worked example: partial moves in a match: compiler error E0382 inside a match, why binding a field in a pattern moves it, what the compiler's ref suggestion really means, and five idiomatic fixes.

Project structure, architecture, and deployment

Suggested reading order

  1. Start with Ownership, Moves, and Borrowing. Nearly everything else in Rust builds on it.
  2. Keep its partial-move worked example handy for when the borrow checker objects to a match.
  3. Read Structuring and Architecting Rust Projects before starting your next non-trivial project, and use its checklist when setting one up.

External resources

in this section
* structuring and architecting rust projects: a comprehensive guide
* understanding ownership, moves, and borrowing