Rust 1.24 带来增量编译器和标准代码格式化工具

  • Sergio De Simone
  • 谢丽

2018 年 3 月 4 日

话题:开源语言 & 开发

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Rust 1.24 带来两个重要的新特性:增量编译器和标准代码格式化工具rustfmt

2015 年底,Rust 核心团队就开始致力于增量编译的工作,并在 2016 年 9 月发布了 Alpha 版本。自此,Rust 团队就一直在修复失效问题,改进正确性,为生产就绪做准备。现在,Rust 1.24默认启用了增量编译。如果你不想使用,可以使用Cargo.tomlprofile.dev.incremental在单个工程中禁用,或者使用.cargo/config中的build.incremental全局禁用。

增量编译不是 Rust 1.24 仅有的性能改进之处。实际上,Rust 1.24 还提升了codegen-units的稳定性,该特性允许多个编译器代码生成阶段并行运行。新codegen-units有一个缺点,就是最终的二进制代码往往会慢一点点。为了避免这种情况,确保二进制代码获得最佳的运行时性能,你可以在Cargo.toml中把codegen-units置为 1。

Rust 1.24 还引入了rustfmt预览版,这是一款根据样式准则格式化 Rust 代码的工具。可以通过运行rustup component add rustfmt-preview安装rustfmt-preview,然后,你就可以使用rustfmt filename在文件上运行这个工具,它会格式化其中包含的所有模块。

rustfmt支持多种输出模式,可以在命令行上使用--write-mode设置。例如,你可以overwrite原始文件,创建备份后replace它们,只display格式化输出等等。rustfmt可以和许多编辑器集成,包括 Vim、Emacs、Sublime Text 3、Atom 等。

要详细了解 Rust 1.24 的全部新特性,请查看发布说明

查看英文原文Rust Gets Incremental Compiler and Standard Code Formatter

开源语言 & 开发