Rust 1.100.0发布 版本号首进三位数
Rust团队于11月12日发布1.100.0稳定版,版本号首次进入三位数,本次更新稳定永不返回类型与Allocator API核心,新增DropGuard等标准库接口,并改进Cargo与供应链安全。
驱动中国11月13日消息,Rust团队于当地时间11月12日发布Rust 1.100.0稳定版。该版本号首次进入三位数阶段,本次更新涵盖多项语言与标准库功能稳定化,并改进Cargo依赖管理、构建缓存及软件供应链安全机制。
Rust官方介绍提到,never type(永不返回类型)在本次版本中正式稳定。该功能经过约10年时间和5次稳定化尝试后进入稳定版本。永不返回类型以!表示,用于描述不会产生返回值的计算过程。return、break以及std::process::exit等终止控制流的表达式均具有这一类型。
本次更新允许开发者在任意位置显式使用!,包括Result
这一调整带来兼容性变化。在Rust 2015、2018和2021版本中,永不返回类型的默认回退行为由()改为!,少数代码可能因此受到影响。
内存分配方面,Rust 1.100稳定了Allocator API的核心部分。开发者可以通过新稳定的Allocator trait定义自定义内存分配器,并将其用于部分标准库类型,目前包括Vec和Box。Rust团队表示,这是Allocators 1.0项目目标的重要进展,后续计划将自定义分配器扩展至更多集合类型和指针类型。
标准库新增core::mem::DropGuard,用于在变量离开作用域时执行指定闭包。开发者可借助该接口处理函数正常返回、错误传播以及发生panic等不同退出路径,从而简化资源清理和事务回滚逻辑。
此外,Rust 1.100新增std::mem::conjure_zst,为开发者在满足安全条件时创建零大小类型(ZST)提供专门接口,减少此前通过transmute等方式创建此类值的需求。