用途:为生产级 Rust 应用提供有明确取向的规则与架构约定,防止常见陷阱,并给出可扩展的模式建议。资料明确说明其重点是“如何及为何”使用这些模式,而非完整 API 文档,具体 crate 的 API 细节建议查阅其他文档工具。
主要能力:所有权与借用部分给出内部可变性决策流程(Cell、RefCell、Arc<Mutex>、Arc<RwLock> 或免锁类型)、智能指针选择(Box、Rc、Arc、Cow、Pin<Box>)以及 Cow 使用规则。错误处理主张库用 thiserror、应用用 anyhow,FFI 边界用自定义枚举,并强调传播时添加上下文、用 #[from] 做自动转换、库代码不用 unwrap。trait 体系区分 dyn Trait 与泛型,涉及关联类型、密封 trait、空泛实现、supertrait 及对象安全规则。async 以 Tokio 为默认,涵盖原生 async trait、Send/Sync、取消安全性与 JoinSet 结构化并发。类型系统部分介绍 newtype、typestate、const generics 与 PhantomData 变型。性能部分提供基于剖析的决策框架,并强调零成本抽象。unsafe 策略要求最小化作用域、每个 unsafe 块写 // SAFETY 注释、优先安全抽象、不得绕过借用检查器。
使用方式:资料建议在具体主题下阅读对应参考文件,如 references/ownership.md、traits.md、error-handling.md、async-rust.md、performance.md、unsafe-ffi.md、macros.md、type-patterns.md。示例命令与代码保持原样,例如 tokio::task::spawn_blocking、tokio::select!、with_context、JoinSet 等。
适用场景与限制:适用于复杂 Rust 项目中的模式选择与架构审查。资料含具体代码片段(如 with_context、#[from] 错误枚举、JoinSet 用法),但不提供完整 API 界面;未提及收费、价格、平台或效果数据,相关事实暂未提供。