Hasty Briefsbeta

双语

Stabilizing Rust's Never Type

21 days ago
  • Rust 的 never 类型 (!) 标记从不返回的函数,用于无误转换和类型推断。
  • 经过 waffle 两年的工作后稳定下来,涉及对回退类型的破坏性变更(在 2024 版中从 () 变为 !)。
  • never 类型以前是不稳定的,标准库中使用 Infallible 类型作为变通方法。
  • 破坏性变更需要同时更新:将 Infallible 设为 ! 的类型别名,并更改回退类型。
  • Crater 分析发现 3300 个 crate 受到影响,但只有 7 个完全损坏;大多数问题通过反向移植补丁得以修复。
  • 通过警告、版本系统和社区协作,保持了向后兼容性。
  • 用户可以停留在较旧的 Rust 版本、更新依赖项或添加显式类型注释来修复损坏的代码。