用途:帮助用户建立 Rust 内存模型的概念性心智模型,而非具体语法机制。适用场景包括:询问所有权、移动、克隆、Drop;对“value moved here”“cannot borrow”等编译器报错感到困惑;在 Rc/Arc、Mutex/AtomicX 之间选择;判断某类型是否 Send/Sync;询问 Drop 顺序;以及 &str 与 String、栈与堆的开销问题。语法、生命周期省略、重借用规则和智能指针方法等细节交由交叉引用的技能处理。
主要能力:列出并复述所有权三条规则(每个值有唯一所有者;同时只能有一个所有者;所有者离开作用域时值被丢弃)与两条引用不变量;解释移动语义、Copy 与 Clone 的区别及其约束;说明 Drop 与 RAII 的自动清理、Drop 顺序(局部变量逆序、结构体字段按声明顺序);对比栈与堆;给出三棵决策树:move/borrow/clone、Box/Rc/Arc、Cell/RefCell/Mutex/Atomic,并说明各智能指针与内部可变性工具的选择依据;说明 Send/Sync 的自动实现规则与常见 !Send 类型。
使用方式:先陈述三条所有权规则,再按决策树回答选择问题,优先借用而非克隆,优先使用能满足需求的最廉价并发原语。
限制:该技能为概念总览,不提供具体语法与完整 API 细节;资料未提供安装命令、收费与平台信息。