rust

SKILL.md

Rust Best Practices

Ownership & Borrowing

  • Prefer borrowing over ownership transfer
  • Use &str for function parameters over String
  • Clone only when necessary
  • Use Cow for maybe-owned strings

Error Handling

  • Use Result<T, E> for recoverable errors
  • Use panic! only for unrecoverable errors
  • Use ? operator for error propagation
  • Create custom error types with thiserror
  • Use anyhow for application errors

Idioms

  • Use iterators over manual loops
  • Prefer pattern matching with match
  • Use Option for optional values
  • Use derive macros for common traits
  • Use clippy for linting

Performance

  • Use release builds for benchmarks
  • Profile before optimizing
  • Consider using Box for large stack types
  • Use Arc/Mutex for shared state

Async

  • Use tokio or async-std runtime
  • Use async/await for async code
  • Avoid blocking in async context
  • Use channels for async communication
Weekly Installs
2
First Seen
Feb 28, 2026
Installed on
opencode2
gemini-cli2
codebuddy2
github-copilot2
codex2
kimi-cli2