Rust团队很高兴宣布Rust的新版本1.24.0。铁锈是一种系统编程语言侧重于安全性、速度和并发性。
如果您通过rustup安装了以前版本的Rust,则会获得Rust1.24.0简单到:
$rustup更新稳定
如果你还没有,你可以得到锈蚀
来自我们网站上的适当页面,并查看详细的发行说明1.24.0在GitHub上。
1.24.0中的内容稳定
此版本包含两个非常激动人心的新功能:生锈
和增量编译!
生锈
多年来,我们一直想要一个能自动将Rust代码重新格式化为某种形式的工具“标准风格”。通过此次发布,我们很高兴地宣布预览属于生锈
可与1.24稳定使用。要尝试一下,请执行以下操作:
$rustup组件添加rustfmt-preview
这里有两个重要方面:首先,您正在使用添加生锈组件
而不是货物装置
在这里。如果您以前使用过生锈
通过货物装置
,您应该先卸载它。其次,这是一个预览,因为它的名字是这样写的。生锈
还没有达到1.0,有些东西正在经过调整,错误正在修复。一次生锈
点击1.0,我们会释放生锈
组件和弃用rustfmt预览
.
在不久的将来,我们计划写一篇关于这个发布策略的文章,因为它很大对于它自己的帖子来说已经足够了,而且比这个版本更广泛。
更多信息,请查看生锈
在GitHub上.
增量编译
早在2016年9月(!!!),我们在博客上就增量编译.虽然该帖子深入到了细节,但其基本思想是:当你在工作时一个项目,你经常编译它,然后改变一些小的东西,然后再编译。从历史上看,编译器已经编译了您的整个的项目,无论您对代码更改了多少。增量编译的思想是,只需编译实际拥有的代码更改,这意味着第二次构建速度更快。
从Rust 1.24开始,现在是默认情况下已启用.这意味着您的构建应该更快!别忘了货物检查
尝试时以获得尽可能低的构建时间。
这仍然不是编译器性能的最终结果,也不是增量编译明确地。我们计划在未来做更多的工作。例如,另一个更改与此版本的性能稳定相关:代码生成单元
现在默认设置为16.关于这个更改,有一点需要注意:它使构建速度更快,但使最终的二进制文件有点更慢的。对于最大速度,设置代码生成单元
到1
在您的货物.toml
需要以弥补每一滴表现。
还有更多!
其他好东西
这里我们还想讨论另一个变化:未定义的行为。一般生锈努力减少未定义的行为,在安全代码中不包含任何行为在不安全代码中可能发生。可以调用UB的一个区域是恐慌!
走跨越外国金融机构边界。换句话说,这:
外部“C”fn panic_in_ffi(){恐慌!(“测试”);}
这是行不通的,因为恐慌如何起作用的确切机制必须得到调和如何“C”
在本例中,ABI有效,在其他示例中,任何其他ABI都有效。
锈蚀1.24,此代码现在将中止而不是产生未定义的行为。
请参阅详细的发行说明了解更多信息。
图书馆稳定
如果你是的粉丝字符串::find
,用于查找给定的烧焦
的内部&字符串
,你会的很高兴看到这个拉请求:现在速度快了10倍!这要感谢memchr公司
.[u8]::包含
也使用它,虽然它没有得到如此极端的加速。
此外,本版本稳定了一些新的API:
最后,现在可以在常量表达式中使用这些函数,例如,初始化静止的
:
单元格
,参考单元格
、和不安全单元格
的新的
功能
- 这个
新的
各种功能原子
整数类型
{整数}::min_value
和最大值(_V)
内存
的大小(_O)
和对齐(_O)
ptr::null
和空(_mut)
请参阅详细的发行说明了解更多信息。
货物特征
如前所述,此版本的主要功能是默认启用增量编译。
请参阅详细的发行说明了解更多信息。
1.24.0贡献者
许多人一起创造了Rust 1.24。我们不可能做到没有你们所有人。谢谢!