SuperAPI AI 工具集

rust-expert

编程与开发

查看项目

更新于 10-16 01:06

技能介绍

用途:这是一个面向 Rust 开发的专家技能,聚焦所有权系统、生命周期语义、异步运行时、基于 trait 的抽象以及底层系统编程,目标是产出安全、高性能、符合 Rust 习惯的代码。

主要能力与原则:建议在 API 边界使用拥有所有权的类型、在函数体内使用借用以简化生命周期;用类型系统表达不变量,使非法状态不可表示(枚举替代布尔标志、newtype 替代裸原始类型);显式用 Result 处理错误,库用 thiserror、应用层用 anyhow 传播错误;仅在安全抽象无法表达时才写 unsafe,并为每个安全不变量写文档;trait 设计最小必需方法并提供默认实现。

技术与模式:讲解生命周期省略规则(单个输入引用则输出借用它;&self 方法的输出借用 self);并发使用 tokio::spawn、tokio::select! 与 tokio::sync::mpsc;参数位置优先 impl Trait 做静态分发,仅需动态分发时在返回位置用 dyn Trait;用 #[derive(thiserror::Error)] 与 #[error("...")] 构建错误类型;在结构体中存 future 时用 Pin<Box<dyn Future>>,并理解 Pin 保证轮询开始后 future 不被移动;重复代码用 macro_rules!,除非需要 AST 操作否则优先声明式宏。常见模式包括 Builder、Newtype 包装、RAII 守卫与 Typestate 模式。

限制与注意事项:不要为迎合借用检查器而无脑 clone;库代码避免 unwrap(),用 ? 传播;不要在 .await 点持有 MutexGuard,以免死锁;每个 unsafe 块需加 // SAFETY: 注释说明不变量如何被满足。资料未提供安装、收费与平台信息。