Rust 1.97.0 发布:原子条件判断与导入放宽

Rust 1.97.0 在语言层引入 must_use Result lint、dead_code_pub_in_binary、trailing self import 放宽;稳定多个 target feature (div32/lam-bh 等);清理 CUDA ISA;Cargo 和 Rustdoc 也获得重要更新。
Rust 1.97.0 Released: Atomic Conditionals, Import Relaxation, CUDA Cleanup
2026年7月11日,Rust 1.97.0 正式发布。这不是一个修补版本——它在语言特性、编译器工具链、平台支持和兼容性等多个层面同步推进了大量更新。
Figure 1: Rust 1.97.0 更新按类别分布
值得关注的语言层更新包括:
- Result 和 ControlFlow 视为等价于 T 的 must_use lint:编译器现在会对未处理的 Result 返回值发出警告(allow-by-default),鼓励开发者显式处理错误。
- 新增 dead_code_pub_in_binary lint:默认允许的 lint,标记二进制 crate 中声明了 pub 但从未使用的项。
- trailing self 在 import 中放宽:use 语句中的 self 后缀语法适用范围扩大,使 re-export 模式更加灵活。
- 多个 target feature 正式稳定:div32(32位除法)、lam-bh/lamcas(LAM 操作)、ld-seq-sa/scq(顺序访问原子操作)等 target feature 进入 stable 行列。
- cfg(target_has_atomic_primitive_alignment):新增条件编译属性,让库作者可以精确控制基于目标平台原子对齐能力的代码路径。
对 Cargo 和 Rustdoc 的改进同样值得关注。Cargo 新增了对 CI/友好的只读目录工作流支持;Rustdoc 的两个常用参数(--output-format 和 --theme)正式稳定。
来源:Rust 1.97.0 全解析 | Rust Blog
[Related Recommendations]
- Rust 缓存感知数据布局 — 深入理解 Rust 内存模型
- crustc: Rust 编译器翻译为 C 代码 — 编译器内部机制探索
评论 (0)
加载评论中…