Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Guidelines

Use page descriptions to select pages before loading them. After loading a conditional page, apply it only when its Activation section matches.

Foundations

Tooling and Project Shape

Type and API Design

Ownership and Data Flow

Errors, Safety, and Diagnostics

Async and Concurrency

Everyday Implementation

  • Control flow - load when choosing match, if let, let else, guards, early returns, mutable locals, or in-place updates.
  • Option and Result idioms - load when transforming Option/Result, using ok_or_else, transpose, map, or explicit branching.
  • Iterators, closures, and loops - load when choosing iterator chains, loops, closure capture, collect, fold, or try_fold.

Testing and Release