Rust团队发布Rust 1.94.0稳定版,本次更新聚焦于日常开发中常见的两类任务:切片数据的分段处理,以及Cargo配置与清单文件的管理方式。官方新增了固定长度滑动窗口(array_windows)方法,并支持Cargo通过include指令拆分配置文件,同时解析TOML 1.1格式,使项目配置更加灵活。
Rust 1.94新增的array_windows方法,可视为原有切片滑动窗口方法windows的固定长度版本,但两者返回的数据类型不同。array_windows返回的是固定大小数组的引用,而非windows使用的动态切片。开发者可以直接使用固定结构进行数据比对,无需手动指定索引位置,代码通常更直观,也更易于阅读和维护。
另一项偏向管理的改进是,Cargo现在可在配置文件中使用include键加载其他配置文件。include可写成路径字符串数组,也可写成内联表格数组,并支持将各项目标记为可选。即使部分文件不存在,系统也会自动跳过,不会中断流程。开发者可将公共配置、本地偏好设置和特定环境配置分开维护,再由主配置文件统一整合。这种做法在多项目、多开发环境,或需要保留个人开发差异的场景中,比将所有内容集中在一个文件中更易于管理。
在工具链方面,Cargo现在支持TOML 1.1格式,可用于清单文件和配置文件的解析。官方列出的变更包括:内联表格现在支持跨多行书写,并允许保留尾随逗号;字符串支持使用xHH和e转义字符;时间值可省略秒数。这些改进直接影响Cargo.toml及相关配置文件的可读性与组织方式,尤其在依赖项、功能标志或较长配置块中,开发者今后可以使用更清晰的格式编写,后续维护也更方便。
不过,Rust团队提醒,如果开发者直接在Cargo.toml中使用TOML 1.1的新语法,项目所需的最低Rust版本(MSRV)将提高,因为这需要新版Cargo解析器。其他读取清单文件的第三方工具也可能需要同步升级解析器。官方表示,Cargo在发布包时会自动重写清单文件,以保持与旧版解析器的兼容性,因此包的使用者不一定需要同步提升MSRV。