• 1. Introduction
  • 2. Idioms
    • 2.1. Constructor
    • 2.2. Concatenating Strings with format!
    • 2.3. Privacy For Extensibility
    • 2.4. Collections Are Smart Pointers
    • 2.5. Finalisation in Sestructors
    • 2.6. Iterating over an Option
    • 2.7. Pass Variables to Closure
    • 2.8. mem::replace(_)
  • 3. Design Patterns
    • 3.1. Builder
    • 3.2. RAII Guards
    • 3.3. Newtype
    • 3.4. Entry API
    • 3.5. Visitor
    • 3.6. Fold
    • 3.7. Prefer Small Crates
    • 3.8. Late Bound Bounds
    • 3.9. Compose Structs
  • 4. Anti-patterns
    • 4.1. Deref Polymorphism
    • 4.2. #[deny(warnings)]