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-02-25 19:56:37 +00:00
|
|
|
- [Foreign function interface (FFI)](./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-02-25 19:56:37 +00:00
|
|
|
- [Behavioural](./patterns/behavioural/intro.md)
|
2021-03-30 20:49:24 +00:00
|
|
|
- [Command](./patterns/behavioural/command.md)
|
2021-02-25 19:56:37 +00:00
|
|
|
- [Interpreter](./patterns/behavioural/interpreter.md)
|
|
|
|
- [Newtype](./patterns/behavioural/newtype.md)
|
|
|
|
- [RAII Guards](./patterns/behavioural/RAII.md)
|
|
|
|
- [Strategy](./patterns/behavioural/strategy.md)
|
|
|
|
- [Visitor](./patterns/behavioural/visitor.md)
|
|
|
|
- [Creational](./patterns/creational/intro.md)
|
|
|
|
- [Builder](./patterns/creational/builder.md)
|
|
|
|
- [Fold](./patterns/creational/fold.md)
|
|
|
|
- [Structural](./patterns/structural/intro.md)
|
|
|
|
- [Compose Structs](./patterns/structural/compose-structs.md)
|
|
|
|
- [Prefer Small Crates](./patterns/structural/small-crates.md)
|
|
|
|
- [Contain unsafety in small modules](./patterns/structural/unsafe-mods.md)
|
|
|
|
- [Foreign function interface (FFI)](./patterns/ffi/intro.md)
|
|
|
|
- [Object-Based APIs](./patterns/ffi/export.md)
|
|
|
|
- [Type Consolidation into Wrappers](./patterns/ffi/wrappers.md)
|
2021-01-01 11:27:42 +00:00
|
|
|
|
2021-01-03 09:43:49 +00:00
|
|
|
- [Anti-patterns](./anti_patterns/index.md)
|
2021-03-29 21:51:47 +00:00
|
|
|
- [Clone to satisfy the borrow checker](./anti_patterns/borrow_clone.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-20 15:16:12 +00:00
|
|
|
- [Programming paradigms](./functional/paradigms.md)
|
2021-04-16 09:14:29 +00:00
|
|
|
- [Generics as Type Classes](./functional/generics-type-classes.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)
|