2021-01-01 11:27:42 +00:00
|
|
|
# Summary
|
|
|
|
|
|
|
|
- [Introduction](./intro.md)
|
2021-01-03 09:43:49 +00:00
|
|
|
- [Idioms](./idioms/index.md)
|
2021-01-05 14:36:20 +00:00
|
|
|
- [Use borrowed types for arguments](./idioms/coercion-arguments.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)
|
2021-01-13 22:08:00 +00:00
|
|
|
- [`mem::{take(_), replace(_)}`](./idioms/mem-replace.md)
|
2021-01-05 14:36:20 +00:00
|
|
|
- [On-Stack Dynamic Dispatch](./idioms/on-stack-dyn-dispatch.md)
|
2021-01-05 15:44:31 +00:00
|
|
|
- [Foreign function interface usage](./idioms/ffi-intro.md)
|
|
|
|
- [Idiomatic Errors](./idioms/ffi-errors.md)
|
|
|
|
- [Accepting Strings](./idioms/ffi-accepting-strings.md)
|
|
|
|
- [Passing Strings](./idioms/ffi-passing-strings.md)
|
2021-01-05 14:36:20 +00:00
|
|
|
- [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)
|
2021-01-01 11:27:42 +00:00
|
|
|
|
2021-01-03 09:43:49 +00:00
|
|
|
- [Design Patterns](./patterns/index.md)
|
2021-01-05 14:36:20 +00:00
|
|
|
- [Builder](./patterns/builder.md)
|
|
|
|
- [Compose Structs](./patterns/compose-structs.md)
|
2021-01-05 15:44:31 +00:00
|
|
|
- [Entry API](./patterns/entry.md)
|
|
|
|
- [Foreign function interface usage](./patterns/ffi-intro.md)
|
|
|
|
- [Object-Based APIs](./patterns/ffi-export.md)
|
|
|
|
- [Type Consolidation into Wrappers](./patterns/ffi-wrappers.md)
|
2021-01-05 14:36:20 +00:00
|
|
|
- [Fold](./patterns/fold.md)
|
|
|
|
- [Newtype](./patterns/newtype.md)
|
|
|
|
- [RAII Guards](./patterns/RAII.md)
|
|
|
|
- [Prefer Small Crates](./patterns/small-crates.md)
|
2021-01-12 00:04:25 +00:00
|
|
|
- [Strategy](./patterns/strategy.md)
|
2021-01-05 14:36:20 +00:00
|
|
|
- [Contain unsafety in small modules](./patterns/unsafe-mods.md)
|
|
|
|
- [Visitor](./patterns/visitor.md)
|
2021-01-01 11:27:42 +00:00
|
|
|
|
2021-01-03 09:43:49 +00:00
|
|
|
- [Anti-patterns](./anti_patterns/index.md)
|
2021-01-05 14:36:20 +00:00
|
|
|
- [`#[deny(warnings)]`](./anti_patterns/deny-warnings.md)
|
|
|
|
- [Deref Polymorphism](./anti_patterns/deref.md)
|
2021-01-02 11:15:33 +00:00
|
|
|
|
2021-01-03 09:43:49 +00:00
|
|
|
- [Functional Programming](./functional/index.md)
|
2021-01-02 11:56:39 +00:00
|
|
|
|
2021-01-07 07:52:35 +00:00
|
|
|
- [Additional Resources](./additional_resources/index.md)
|
|
|
|
- [Design principles](./additional_resources/design-principles.md)
|