用途:当改动影响某个值的拥有者或可变性时,处理 Rust 的所有权、借用、生命周期、clone、Arc、Rc 与共享状态问题。
主要规则:被调用方只读取且调用方保留所有权时,用 &T、&str 或切片借用;被调用方需要存储、转换或转移值时,取得所有权;当 clone 能简化所有权或确有必要时使用 clone,删除已有 clone 前先检查调用方;跨线程共享所有权用 Arc,单线程内用 Rc,仅在需要共享可变性时加入同步或内部可变性;间接、递归类型或有明确布局/API 需求时用 Box;除非公开契约需要显式生命周期,否则让编译器推断。
使用方式:先明确调用方是否保留所有权,再决定借用还是转移;修改公开所有权签名前检查所有调用方,并在目标 crate 中运行 cargo check 和针对性测试。
适用场景:Rust 代码中涉及值拥有、可变借用、共享状态、线程间共享或生命周期标注的改动。
限制与关联:建议先掌握 rust-essentials;当所有权变化影响类型不变量时,可与 type-driven-design 配合使用。资料未提供收费、价格、平台或效果信息。