内存安全
Auto 将受 Rust 启发的所有权系统与智能转换和流类型相结合,在保持人体工学的同时实现内存安全。
所有权系统
Auto 中的每个值都有明确的所有者。当所有者超出作用域时,值会自动清理。所有权可以:
- 转移 — 将值移动到新所有者
- 借用 — 借用引用而不转移所有权
- 共享 — 多个只读引用
智能转换
Auto 的类型系统通过控制流跟踪值的状态。在类型检查或条件判断后,类型会自动收窄:
auto
if x is String {
// 此处 x 自动转换为 String 类型
x.len()
}流类型
编译器跟踪每条代码路径中变量的初始化、移动或修改状态,在编译时防止 use-after-move 和未初始化访问错误。