Rust Systems Ownership and Borrowing Prefer borrowing ( , ) over ownership transfer. Use only when necessary. Error Handling Use for library errors, for application-level errors. Avoid in production code. Traits and Generics Async Patterns Builder Pattern Anti-Patterns - Using or in library code - Cloning data unnecessarily instead of borrowing - Holding a across points (causes deadlocks) - Using when a channel would be more appropriate - Writing without documenting invariants - Not using on Result-returning functions Checklist - [ ] Error types defined with and operator used for propagation…