始推出的Rust 1.74,更新重点包括Cargo中添加了Lint配置选项,还在Cargo引入凭证提供者,以及经过认证的私有注册表功能,强化了安全性,而在Rust新版本中,编译器现在支持不透明回传类型。同时,Rust也提升对Apple平台操作系统的最低版本要求。

Rust 1.74现在允许开发者在Cargo.toml文件中,通过“lints”表格配置编译器,和其他工具的Lint报告等级,诸如禁止、拒绝、警告和允许。这代表着开发者现在可以在组件清单中,直接指定Lint规则,不再需要通过可能会影响整个构建的RUSTFLAGS旗标,或是以Crate层级属性设置。

新方法提供开发者更为细致的控制,并且可以在工做空间层级进行配置,然后由单一组件继承。Cargo会关注配置的更改,并且决定需要重建的Crate。

这个版本还添加了两项和Cargo注册表认证相关的安全功能,分别是凭证提供者,以及经过认证的私有注册表。凭证提供者允许开发者配置Cargo以取得注册表认证,支持Linux、macOS和Windows操作系统的安全密码存储,而且开发者也可以编写自定义提供者,以存储和产生令牌。官方表示,使用凭证提供者功能,可以减少注册表令牌泄漏的风险。

除此之外,注册表现在可以选择性地要求所有操作都需要进行认证,而不单只有发布操作而已。官方提到,这使得私有Cargo注册表可以提供更加安全的Crate托管服务。不过要使用私有注册表,则需要配置凭证提供者。

在之前Rust编译器并不允许在像是async fn和- impl Trait等不透明回传类型中,提及Self或是父作用域生命周期相关的关联类型(Associated Type),官方提到,这样的限制在特定情况,可能会让造成程序代码编写的困难。

而在最新的Rust 1.74中,这个限制被移除,也就是在上述情况下,开发者已经可以使用Self和关联类型,如此便提高了程序代码的表达能力和灵活性。该功能之前被标记为不稳定,但在官方解决相关问题,并且经过充分测试后,现在已经稳定。

Rust 1.74版本还提高对Apple平台最低版本的要求,现在最低操作系统支持版本为macOS 10.12 Sierra、iOS 10和tvOS 10。这三个版本都在2016年的时候首次推出,该更新代表使用Rust 1.74之后版本开发的应用程序,将不支持在这些版本之前的操作系统上运行。