
Rust开发团队发布了最新稳定版本1.84,更新重点包括强化Cargo工具链的相容性管理、导入新一代Trait Solver,以及提升指标操作的安全性。此次改进聚焦于开发流程优化、型别系统可靠性提升及低阶操作安全性,提供开发者多项实用功能与更完善的开发体验。
Cargo的相依版本选择机制引入了最低支援Rust版本(Minimum Supported Rust Version,MSRV)感知解析器。该功能可自动筛选出与专案宣告的Rust版本相容的相依版本,解决过去需要手动调整相依版本以支援旧工具链的问题。
启用MSRV感知解析器后,专案在使用cargo add或执行相依更新时,系统会自动避开需要更高Rust版本的相依套件,减轻开发者维护多版本工具链负担。MSRV感知解析器将成为即将稳定的2024 Edition预设功能。
Rust 1.84编译器开始搬迁至新一代的Trait Solver,以改善型别系统的正确性与灵活性。Trait Solver是Rust处理型别推理与Trait实作相容性检查的核心元件。本次更新修正了旧版本存在的数个正确性相关问题,并提升了系统判断Trait实作是否相容的能力,部分过去被视为冲突的实作模式,在新版本中都已获得支援。
Rust 1.84进一步推进指标(Pointer)操作的安全性,向低阶开发者提供新的Pointer Provenance API。Rust一直以来以其严格的型别与记忆体安全闻名,而指标的操作安全性是其核心挑战之一,在低阶程序开发中,指标与整数的互转是一种常见行为,但也可能导致潜在的未定义行为。
这套API目的在于取代传统的指标与整数互转操作,解决指标衍生过程中的不确定性问题,特别是在利用指标最低位元储存额外资讯的场景。透过此功能,程序逻辑不仅更容易被分析与验证,也能更好地支援像CHERI等重视指标安全的新兴硬件架构。