Rust 1.54.0 发布,默认重新启用增量编译

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Rust 1.54.0 现已发布,具体更新内容如下: 属性可以调用 function-like macros Rust 1.54 支持在属性中调用 function-like macros。Function-like macros 可以是基于 macro_rules! 的,也可以是像macro!(...) 那...

Rust 1.54.0 现已发布,具体更新内容如下:

属性可以调用 function-like macros

Rust 1.54 支持在属性中调用 function-like macros。Function-like macros 可以是基于 macro_rules! 的,也可以是像macro!(...) 那样被调用的 procedural macros。这方面一个值得注意的用例是将其他文件的文档纳入 Rust 文档的注释中。例如,如果你的项目的 README 是一个很好的文档注释,你可以使用 include_str! 来直接合并内容。

#![doc = include_str!("README.md")]

宏也可以嵌套在属性中,例如包含由构建脚本生成的内容:

#[path = concat!(env!("OUT_DIR"), "/generated.rs")]
mod generated;

阅读此处了解更多详情。

wasm32 intrinsics 稳定化

wasm32 平台的许多 intrinsics 已经稳定,可以访问 WebAssembly 中的 SIMD 指令。

值得注意的是,与之前稳定的 x86 和 x86_64 intrinsics 不同,这些没有安全要求,只有在适当的目标特性被启用时才能被调用。这是因为 WebAssembly 从一开始就是为了在执行代码之前安全地验证代码而编写的,因此可以保证指令被正确解码(或者根本不解码)。

这意味着我们可以将一些 intrinsics 公开为完全安全的函数,例如v128_bitselect。 但是,仍然有一些 intrinsics 是不安全的,因为它们使用了原始指针,例如v128_load

默认情况下重新启用增量编译

1.52.1 中默认禁用增量编译后,此版本中默认重新启用了增量编译。

在 Rust 1.52 中,当从磁盘缓存加载增量编译数据时,增加了额外的验证。这导致了许多预先存在的潜在问题被发现,因为验证将这些错误变成了内部编译器错误(ICE)。目前仍存在两个已知问题可能会导致 ICE。由于缺乏自动崩溃报告,开发团队无法确定未决问题的全部影响程度。但是,根据其从受 1.52 版本影响的用户那里收到的反馈,他们认为剩余的问题在实践中很少见。 因此,在此版本中重新启用了增量编译。

稳定的 API

其他变化

Rust 1.54.0 版本中还有其他更改:可查看 RustCargo 和 Clippy 中的更改。

rustfmt 也在 1.54.0 版本中得到修复,以正确格式化嵌套的外联模块。这可能会导致 1.53.0 rustfmt 忽略的文件格式发生变化。在此处查看详细信息。

有关更多信息,可参见详细的发行说明


以上所述就是小编给大家介绍的《Rust 1.54.0 发布,默认重新启用增量编译》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

啊哈C语言!逻辑的挑战(修订版)

啊哈C语言!逻辑的挑战(修订版)

啊哈磊 / 电子工业出版社 / 2017-1 / 49

《啊哈C语言!逻辑的挑战(修订版)》是一本非常有趣的编程启蒙书,《啊哈C语言!逻辑的挑战(修订版)》从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。配合超萌的编程软件,《啊哈C语言!逻辑的挑战(修订版)》从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。同时,与计算机展开的逻辑较量一定会让你觉得很有意思。你可以在茶余饭后阅读《啊哈C语言!逻......一起来看看 《啊哈C语言!逻辑的挑战(修订版)》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具