1.
Introduction
2.
Idioms
2.1.
Use borrowed types for arguments
2.2.
Concatenating Strings with format!
2.3.
Constructor
2.4.
The Default Trait
2.5.
Collections Are Smart Pointers
2.6.
Finalisation in Destructors
2.7.
mem::replace(_)
2.8.
On-Stack Dynamic Dispatch
2.9.
Foreign function interface usage
2.9.1.
Idiomatic Errors
2.9.2.
Accepting Strings
2.9.3.
Passing Strings
2.10.
Iterating over an Option
2.11.
Pass Variables to Closure
2.12.
Privacy For Extensibility
2.13.
Easy doc initialization
2.14.
Temporary mutability
3.
Design Patterns
3.1.
Builder
3.2.
Compose Structs
3.3.
Entry API
3.4.
Foreign function interface usage
3.4.1.
Object-Based APIs
3.4.2.
Type Consolidation into Wrappers
3.5.
Fold
3.6.
Newtype
3.7.
RAII Guards
3.8.
Prefer Small Crates
3.9.
Contain unsafety in small modules
3.10.
Visitor
4.
Anti-patterns
4.1.
#[deny(warnings)]
4.2.
Deref Polymorphism
5.
Functional Programming
6.
Additional Resources
6.1.
Design principles
Light
Rust (default)
Coal
Navy
Ayu
Rust Design Patterns
Document not found (404)
This URL is invalid, sorry. Please use the navigation bar or search to continue.