用途:面向 Rust 开发者的常见陷阱速查与修复指南,聚焦四类高频痛点:编译器错误、结构体构造模式、测试组织、覆盖率门禁,并附带运行时问题预防。
主要能力:
- 编译器错误速查:按错误码给出成因与修复思路,如 E0433(作用域内找不到类型,检查导入或 Cargo.toml)、E0597(值存活时间不足,改为返回所有权或使用 'static)、E0308(类型不匹配,如 String 与 &String、u32 与 usize)、E0596/E0502(可变与不可变借用冲突,拆分借用作用域)、E0277(未满足 trait 约束,添加 trait bound)、E0282(无法推断类型,添加类型标注)、E0382(使用已移动的值,clone 或借用)、E0507(不能从借用内容中移出,用 take() 或 clone)、E0716(临时值在借用期间被释放,返回拥有所有权的值)。
- 结构体构造模式:带校验的 new 构造器、Builder 模式(含默认值与 build 校验)、工厂模式(按变体生成实例)、newtype 类型安全包装(避免 UserId 与 OrderId 混用)。
- 测试组织:源码内联 #[cfg(test)] mod tests、tests/ 目录集成测试、共享测试工具模块、测试命名约定,以及 impl 块内测试模块这一罕见模式。
- 覆盖率门禁:使用 cargo-llvm-cov,命令如 cargo llvm-cov --fail-under-lines 80,可加 --fail-under-functions 70 --fail-under-regions 60;支持 --html、--json 报告,并可接入 CI 上传 lcov.info。
- 运行时问题预防:Send/Sync 与异步任务边界(Rc/RefCell 不可跨线程,异步中优先 tokio::sync::{Mutex, RwLock})、JoinSet 要求 Send + 'static、select! 取消安全、按固定顺序获取锁以避免死锁。
使用方式:作为技能/参考文档按需查阅对应章节,复制其中的修复模式与命令到项目中。
适用场景:Rust 项目排错、API 设计、测试与 CI 覆盖率配置。
限制:资料未提供安装步骤、版本要求、收费信息与效果保证;示例代码需结合自身项目调整。