欢呼吧!Rust用户!
在Rust 1.8的新build系统首次亮相一个月之后,1.9版本便横空出世。这个版本中,编译速度大大提升,跨平台的工具增强,语言自身加强了对错误的处理。
最新的版本为开发者们提供了最实际的便利。如博客中所介绍,1.9版本加强了std:panic
模块的稳定性。如果某个线程引起了Rust的程序恐慌时——遇到了期望之外的错误——一个新的APIcatch_unwind
就可以从另一个线程打断处于恐慌的线程,从而让应用从整体上对错误的处理能力更高。
另一个改变是rustup,一个跨平台的管理工具。rustup可以让开发者在不同的平台使用和切换。由于使用LLVM的原因,Rust理论上是一个跨平台的语言,但是管理工具其实并不友好。rustup改变了这个问题,虽然还有些问题没有解决,比如装配C语言写的某些Rust组件(编译与C有关的依赖)。
Rust的维护者说:“虽然这项功能现在暂时没有发布,但是我们希望能在接下来的几个月中将其合并到语言中。”
Rust 1.9带来的一系列微小但是颇有意义的优化从整体上大大提高了程序的执行和编译速度。一种新的优化specialization“允许一般的代码自动的根据一些特殊类型的信息变成特殊的代码”,从而可以进一步做针对性的优化。另一项优化提升了相等测试的速度,让一些代码的速度大大提高。
另一项有用的改变是第三方库中的API可以添加警告注释了。鉴于Rust环境快速发展的今天,尤其是第三方库的迅速增长,这个特性比它看起来要重要的多。开发者在某些东西被废弃之后对用户提供警告(例如,它所依赖的Rust特性被废弃或者重构)有了一种优雅的方式。
Rust开发者2016年定了雄心勃勃的目标,目前大多数都被快速实现了,例如精简标准库等。某些还有待实现,比如用来缩短大型项目重新编译时间的递增编译,但是四月的MIR显示了这想工作的前奏。
原文:Rust 1.9 improves speed, error handling
作者: Serdar Yegulalp
翻译:赖信涛
责编:钱曙光