宣布 Rust 1.69.0 发布

2023年4月20日 · Rust 发布团队

Rust 团队很高兴地宣布 Rust 1.69.0 版本发布。Rust 是一种编程语言,旨在帮助每个人构建可靠且高效的软件。

如果你之前通过 rustup 安装了 Rust,你可以使用以下命令获取 1.69.0 版本:

$ rustup update stable

如果你还没有安装,你可以从我们的网站上的相应页面获取 rustup,并查看 GitHub 上1.69.0 版本的详细发布说明

如果你想通过测试未来的版本来帮助我们,你可以考虑在本地更新以使用 beta 频道 (rustup default beta) 或 nightly 频道 (rustup default nightly)。请报告你可能遇到的任何 bug!

1.69.0 稳定版的新特性

Rust 1.69.0 没有引入重大的新功能。然而,它包含了许多小的改进,包括来自 500 多位贡献者的 3000 多个提交。

Cargo 现在建议自动修复某些警告

Rust 1.29.0 添加了 cargo fix 子命令来自动修复一些简单的编译器警告。从那时起,可以自动修复的警告数量持续稳步增加。此外,还增加了对自动修复一些简单的 Clippy 警告的支持。

为了更多地引起人们对这些增强功能的关注,当 Cargo 检测到可以自动修复的警告时,现在会建议运行 cargo fixcargo clippy --fix

warning: unused import: `std::hash::Hash`
 --> src/main.rs:1:5
  |
1 | use std::hash::Hash;
  |     ^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: `foo` (bin "foo") generated 1 warning (run `cargo fix --bin "foo"` to apply 1 suggestion)

请注意,上面显示的完整 Cargo 调用仅在你想要精确地将修复应用于单个 crate 时才是必要的。如果你想将修复应用于工作区的所有默认成员,那么一个简单的 cargo fix(没有额外的参数)就足够了。

默认情况下,调试信息不再包含在构建脚本中

为了提高编译速度,Cargo 现在默认避免在构建脚本中发出调试信息。当构建脚本成功执行时,不会有明显的视觉效果,但是构建脚本中的回溯将包含较少的信息。

如果你想调试构建脚本,你可以将此代码片段添加到你的 Cargo.toml 中以再次发出调试信息

[profile.dev.build-override]
debug = true
[profile.release.build-override]
debug = true

稳定的 API

这些 API 现在在 const 上下文中是稳定的

其他更改

查看 RustCargoClippy 中所有更改的内容。

1.69.0 版本的贡献者

许多人齐心协力创建了 Rust 1.69.0。没有你们大家,我们不可能做到这一点。谢谢!