Rust 团队发布了 Rust 的新单点版本 1.80.1,该版本是小版本升级,主要在稳定性方面带来一些小幅度优化和改进。
Rust 是一种设计精妙的编程语言,以其卓越的性能和可靠性闻名,致力于帮助开发者构建高效且稳定的软件系统。
如果你已经通过 rustup 安装了之前的版本,那么更新到这个新版本只需要执行以下简单命令:
rustup update stable
如果你还未安装 Rust,可以访问 Rust 官方网站,按照页面上的指引进行安装。(安装命令: curl --proto '=https' --tlsv1.2 -sSf sh.rustup.rs | sh)
Rust 1.80.1的主要内容
在这个小版本更新中,Rust 1.80.1 主要修复了两个最近被报告的回归问题,这些问题可能影响了一些开发者的代码运行和编译。下面将详细介绍这些修复内容:
1.浮点数比较时的编译错误
Rust 编译器(rustc)一直在不断改进其优化能力,完善优化集,以提升代码编译和执行的效率。Rust 1.78.0 版本中引入了一项新优化技术,称为“跳转线程”(Jump Threading),其目的是将执行相同比较的两个相邻分支合并在一起。
然而,这种优化在处理浮点数比较时出现了问题。浮点数比较有一些特殊的规则,例如 NaN != NaN
和 0.0 == -0.0
。这些规则在优化过程中没有得到正确处理,导致生成了错误的编译代码。
Rust 1.80.1 通过禁止将这种优化应用于浮点数比较,解决了这一问题,并确保其他数据类型的优化不受影响。
2. dead_code Lint 中的误报
Rust 1.80.0 版本对 dead_code
lint 进行了重构和优化,比如可以更准确地检测代码中未使用的部分。然而,这次重构导致了在一些情况下产生了误报,比如在会出现错误的警告一些有效代码未被使用。
在 Rust 1.80.1 中,团队回滚了这些变更,恢复了先前版本中的行为。Rust 团队将继续试验和探索改进 dead_code
lint 的方法,以期在未来版本中实现更高的准确性。
鸣谢
感谢所有为 Rust 1.80.1 版本做出贡献的开发者和用户!如果在使用 Rust 1.80.1 的过程中遇到任何问题,或者有任何反馈意见,可以通过 Rust 社区的各种渠道进行交流。Rust 团队会继续努力,为开发者带来更好的编程体验。
更多关于 Rust 1.80.1 的变更细节请参考完整的版本发布说明(blog.rust-lang.org/2024/08/08/…)