Rust 新标准:开发者将迎来什么
Rust 社区热切期待 2024 版本的发布——这是该语言的又一次重大更新,有望为系统和应用软件开发者带来显著改进。虽然该标准的最终版本预计在年底发布,但现在已经可以确定一些关键的新特性,它们将改变 Rust 代码的编写方式。
与编译器的常规版本不同,版本(editions)是语言本身发展的里程碑。它们允许引入不兼容的更改,同时保持对使用旧版本项目的兼容性。Rust 2024 将成为继 2015、2018 和 2021 版本之后的第三个此类版本。
Rust 2024 的主要新特性
- trait 中 async fn 的稳定化 (AFIT)。 期待已久的功能:现在可以直接在 trait 中声明异步方法,而无需绑定到特定的运行时。这将简化网络 I/O 和并发库的抽象创建。
- impl Trait 的新规则。 在 Rust 2024 中,位置和返回
impl Trait的语义发生了变化。这将使类型推断更加可预测,并消除开发者面临的一系列隐藏编译错误。 - Never 类型 (!) 变得稳定。
!(never)类型现已完全集成到类型系统中。对于永不返回控制的函数,它将自动推断。这将改善与宏和泛型代码的交互。 - 借用检查器 (borrow checker) 的改进。 新版本的借用检查器 (Polonius) 将默认启用。它允许更灵活地管理引用的生命周期,尤其是在涉及嵌套闭包的复杂场景中。
- 字符串字面量的前缀。 引入了新的语法结构:用于 C 字符串的
c"...",以及将原始字符串与转义序列混合使用的可能性(例如r#"..."#)。
对实际开发的影响
对于通过 WebAssembly 或 Axum、Actix 等框架使用 Rust 的 Web 开发者来说,AFIT 将是一个真正的突破。在尝试创建通用请求处理器或异步中间件时,不再需要与限制作斗争。
系统编程也将受益:改进后的借用检查器将允许编写更复杂的数据结构,而不会牺牲安全性。而 never 类型的稳定化将简化错误处理宏的编写。
开发者现在应该做什么?
- 将编译器更新到最新的 nightly 版本,以测试新特性。
- 学习从 Rust 2021 迁移到 2024 的文档——虽然大多数更改是自动的,但有些需要手动修改。
- 关注 Rust 官方博客,其中会发布关于版本状态的每周报告。
Rust 作为最受欢迎的编程语言之一,继续崛起。2024 版本巩固了其作为创建高性能、安全软件的可靠工具的地位。如果您还不熟悉 Rust,现在就是开始学习的最佳时机。