# Summary - [Introduction](./intro.md) - [Idioms](./idioms/README.md) - [Concatenating Strings with `format!`](./idioms/concat-format.md) - [Constructor](./idioms/ctor.md) - [The `Default` Trait](./idioms/default.md) - [Collections Are Smart Pointers](./idioms/deref.md) - [Finalisation in Destructors](./idioms/dtor-finally.md) - [`mem::replace(_)`](./idioms/mem-replace.md) - [On-Stack Dynamic Dispatch](./idioms/on-stack-dyn-dispatch.md) - [Iterating over an `Option`](./idioms/option-iter.md) - [Pass Variables to Closure](./idioms/pass-var-to-closure.md) - [Privacy For Extensibility](./idioms/priv-extend.md) - [Easy doc initialization](./idioms/rustdoc-init.md) - [Temporary mutability](./idioms/temporary-mutability.md) - [Design Patterns](./patterns/README.md) - [Builder](./patterns/builder.md) - [Compose Structs](./patterns/compose-structs.md) - [Entry API](./patterns/entry.md) - [Fold](./patterns/fold.md) - [Late Bound Bounds](./patterns/late-bounds.md) - [Newtype](./patterns/newtype.md) - [RAII Guards](./patterns/RAII.md) - [Prefer Small Crates](./patterns/small-crates.md) - [Contain unsafety in small modules](./patterns/unsafe-mods.md) - [Visitor](./patterns/visitor.md) - [Anti-patterns](./anti_patterns/README.md) - [`#[deny(warnings)]`](./anti_patterns/deny-warnings.md) - [Deref Polymorphism](./anti_patterns/deref.md) - [Functional Programming](./functional/README.md)