1.
Introduction
2.
Types
2.1.
Item 1: Use the type system to express your data structures
2.2.
Item 2: Use the type system to express common behaviour
2.3.
Item 3: Avoid matching Option and Result
2.4.
Item 4: Prefer idiomatic Error variants
2.5.
Item 5: Familiarize yourself with standard traits
2.6.
Item 6: Understand type conversions
2.7.
Item 7: Embrace the newtype pattern
2.8.
Item 8: Use builders for complex types
2.9.
Item 9: Familiarize yourself with reference and pointer types
2.10.
Item 10: Consider using iterator transforms instead of explicit loops
2.11.
Item 11: Implement the Drop trait for RAII patterns
2.12.
Item 12: Prefer generics to trait objects
2.13.
Item 13: Use default implementations to minimize required trait methods
3.
Concepts
3.1.
Item 14: Understand the borrow checker
3.2.
Item 15: Understand lifetimes
3.3.
Item 16: Avoid writing unsafe code
3.4.
Item 17: Be wary of shared-state parallelism
3.5.
Item 18: Don't panic
3.6.
Item 19: Avoid reflection
3.7.
Item 20: Avoid the temptation to over-optimize
4.
Dependencies
4.1.
Item 21: Understand what semantic versioning promises
4.2.
Item 22: Minimize visibility
4.3.
Item 23: Avoid wildcard imports
4.4.
Item 24: Re-export dependencies whose types appear in your API
4.5.
Item 25: Manage your dependency graph
4.6.
Item 26: Be wary of feature creep
5.
Tooling
5.1.
Item 27: Document public interfaces
5.2.
Item 28: Use macros judiciously
5.3.
Item 29: Listen to Clippy
5.4.
Item 30: Write more than unit tests
5.5.
Item 31: Take advantage of the tooling ecosystem
5.6.
Item 32: Set up a continuous integration (CI) system
6.
Asynchronous Rust
6.1.
Item 33: Distinguish between the async and non-async worlds
6.2.
Item 34: Familiarize yourself with executors
6.3.
Item 35: Use the type system to decipher problems
6.4.
Item 36: Understand how Futures are combined
7.
Beyond Standard Rust
7.1.
Item 37: Consider making library code no_std compatible
7.2.
Item 38: Control what crosses FFI boundaries
7.3.
Item 39: Prefer bindgen to manual FFI mappings
Light (default)
Rust
Coal
Navy
Ayu
Effective Rust
Item 31
: Take advantage of the tooling ecosystem