Rust 1.97 发布:Cargo 与构建系统改进
原文链接:https://blog.rust-lang.org/2026/07/09/Rust-1.97.0/
根据 Rust 官方博客,1.97.0 版本已于 2026 年 7 月 9 日发布。此次更新的核心是默认启用全新的符号混淆方案 (v0),并显著改善了构建过程中的警告和链接器输出管理。
下面是该版本主要新特性的总结:
🚀 核心语言特性
- 默认启用新版符号混淆 (Symbol Mangling v0):从本版本开始,Rust 编译器在编译时默认使用
v0方案来生成符号名。这取代了基于 Itanium ABI 的历史方案,能更准确地保留泛型参数等完整上下文信息,并解决了旧方案中的不一致性问题。旧的混淆方案仅能在 Nightly 版本中使用,并计划在未来被完全移除。
🛠️ Cargo 与构建系统改进
- Cargo 原生支持控制警告处理:新增了通过
CARGO_BUILD_WARNINGS环境变量来控制构建时警告的行为,可选allow(忽略)、warn(警告,默认)和deny(拒绝,导致构建失败)。这使得在 CI 中拒绝警告 (CARGO_BUILD_WARNINGS=deny) 或临时屏蔽噪音警告 (CARGO_BUILD_WARNINGS=allow) 更加方便,且不会使构建缓存失效。 - 默认显示链接器 (Linker) 输出:过去,若链接成功,
rustc会默认隐藏链接器的输出信息。现在,这些信息会默认以警告 (linker_messageslint) 的形式输出,有助于暴露被忽略的潜在问题。如果确认是误报,可以通过在Cargo.toml中设置[lints.rust] linker_messages = "allow"来临时关闭。
📚 稳定化的 API
以下这些已有稳定 API 现在可以在常量 (const) 上下文中使用:
char::encode_utf8char::encode_utf16<[T]>::first_chunk<[T]>::last_chunk<[T]>::split_first_chunk<[T]>::split_last_chunk
🔧 其他变更
- 完整的变更列表,包括 Rust、Cargo 和 Clippy 的详细更新,请查阅官方详细发布说明。
你可以通过 rustup update stable 命令升级到最新版本。如果想体验或帮助测试后续版本,也可以切换到 Beta 或 Nightly 渠道。
加入开源交流群
请加站长微信,免费进入交流群,和开源爱好者一起讨论。