Rust 1.59支持行内组语

Rust开发团队发布1.59版本,这个版本加入了一个称为行内组语(Inline Assembly)的重要功能,这使得应用程序在执行上,可以进行低端的控制,或是访问特殊的机器指令。行内组语可用的汇编语言和指令,依目标架构相异而有所不同,目前稳定版本的Rust编译器,在x86和x86-64、Arm、AArch64和RISC-V架构上支持行内组语。

Rust开始提供未来不兼容警示,官方提到,Rust编译器中的错误可能会使得编译器,接受不应该接受的程序代码,虽然这种情形很少发生,但是当用户的项目使用的crate,包含不受允许的程序代码时,便会造成严重的破坏,而且在项目无预警停止构建之前,用户可能都不会发现。

因此,官方表示,cargo现在会对未来Rust版本拒绝的相依项目产生警示,开发者可以执行警示中所提到的cargo报告指令,以查看被拒绝的程序代码,这项功能提供开发者额外的时间,在相依项目破坏构建之前可以先采取行动。

Rust现在还可以创建“干净”的二进制文件,当除去二进制文件中不必要的信息,像是调试消息,就可以让程序文件变得更小。官方提到,虽然用户可以在创建二进制文件之后,手动执行此操作,但是cargo和rustc现在可以在连接二进制文件的时候进行清除工作。

另外,由于增量编译功能可能使得编译期间,导致反串行化错误,因此Rust 1.59默认停用了增量编译功能。

Rust 1.59在2月24日发布,恰逢俄罗斯军队入侵乌克兰的日子,Rust官方特别在博客声援乌克兰,并且对在这场冲突中受到影响的人们表达支持。