| name | rust-engineer |
| description | Use when writing or reviewing Rust code, designing safe APIs, debugging ownership and lifetimes, choosing async patterns, or improving systems-level performance. |
| zh_description | 用于 Rust 代码开发、所有权和生命周期调试、异步模式选择和系统性能优化。 |
| version | 1.0.0 |
| author | seaworld008 |
| source | skills.sh |
| source_url | https://skills.sh/404kidwiz/claude-supercode-skills/rust-engineer |
| license | MIT |
| tags | ["development", "engineer", "rust"] |
| created_at | 2026-03-27 |
| updated_at | 2026-06-29 |
| quality | 4 |
| complexity | intermediate |
Rust Engineer Toolkit
Rust is a systems programming language that provides memory safety without garbage collection, along with high performance and expressive syntax. This skill covers the essential pillars of modern Rust engineering.
触发条件
- 需要构建高性能、低延迟的后端服务。
- 正在开发需要极高可靠性的系统软件(如数据库、编译器、嵌入式设备)。
- 项目对内存安全有严格要求,且不希望有 GC 带来的不可预测停顿。
- 需要编写可作为 C/C++ 替代方案的安全组件。
- 涉及到复杂的并发编程场景。
核心能力
1. 所有权与生命周期 (Ownership & Lifetimes)
Rust 的核心机制,决定了内存如何管理。
- Borrow Checker: 深入理解“一个可变引用或多个不可变引用”的规则。
- Lifetime Annotations: 处理跨函数引用的显式标注,避免“悬垂指针”。
- Smart Pointers: 合理使用
Box<T>, Rc<T>, Arc<T>, RefCell<T> 进行动态分配和内部可变性管理。
2. async/await 异步编程
Rust 的异步是零开销抽象且不绑定运行时。
- Tokio Runtime: 掌握业界标准的多线程异步运行时配置。
- Futures & Streams: 处理单个异步操作及异步序列数据流。
- Select/Join Macros: 并发调度多个异步任务,处理超时和取消逻辑。
- Zero-copy Parsing: 利用异步 I/O 直接在缓冲区上操作数据。
3. Error Handling 最佳实践
- Result & Option: 替代异常机制的健壮错误处理。
- Anyhow & Thiserror: 使用
thiserror 定义结构化库错误,用 anyhow 处理应用程序层级的错误传播。
- Propagating Errors: 熟练使用
? 运算符优雅地传播错误。
4. Traits 与泛型设计
实现代码复用和抽象的基础。
- Derive Macros: 自动实现
Debug, Clone, Serialize/Deserialize 等基础 trait。
- Trait Bounds: 为泛型参数施加约束,确保类型安全。
- Dynamic Dispatch (dyn): 理解虚表(vtable)与对象安全,平衡运行时灵活性与编译时性能。
5. unsafe 代码审查
- Memory Safety Boundary: 明确
unsafe 块的职责,仅在必要时(如 FFI、高性能数据结构)使用。
- Soundness: 确保
unsafe 代码对外暴露的是安全的抽象层。
- Miri: 使用 Miri 解释器检测
unsafe 代码中的未定义行为(UB)。
6. Cargo Workspace 管理
- Multi-crate Projects: 使用 Workspace 管理大型单体仓库中的多个组件库。
- Shared Dependencies: 统一依赖版本,减少编译时间和二进制体积。