Rust 1.82.0版本发布


发布了Rust 编程语言的新版本 1.82.0。以下是这个版本中一些值得注意的更新:

  1. cargo info:Cargo 现在有一个 info 子命令,用于显示注册表中包的信息。
  2. Apple 目标提升:
    • macOS 在 64 位 ARM 上(M1 家族或更新的 Apple Silicon CPU)现在是 Tier 1 目标。
    • Mac Catalyst 目标现在是 Tier 2。
  • 精确捕获 use<..> 语法:Rust 现在支持在某些 impl Trait 界限内使用 use<..> 语法来控制捕获哪些泛型生命周期参数。
  • 原生语法创建原始指针:现在可以使用 &raw const expr 和 &raw mut expr 来创建可能悬挂、可能未对齐或可能不指向有效数据的指针。
  • 带有 unsafe extern 的安全项:现在可以在 extern 块中标记某些项为安全使用。
  • 不安全的属性:某些属性(如 no_mangle)现在被认为是不安全的,必须使用 #[unsafe(...)] 形式。
  • 省略空类型匹配:现在可以省略匹配空(即无人居住)类型的模式。
  • 浮点数 NaN 语义和 const:Rust 标准化了 NaN 值的行为,并允许在 const fn 中使用浮点运算。
  • 常量作为汇编立即数:现在可以使用整数作为立即数,而无需先将它们存储在寄存器中。
  • 安全地处理不安全的 static:现在允许在表达式上下文中安全地创建指向 static mut 和 extern "C" 静态变量的原始指针。
    此外,还有一些 API 被稳定化,以及对 Rust、Cargo 和 Clippy 的其他更改。这个版本是由社区的许多人共同完成的,感谢所有贡献者的努力。