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

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

内容简介: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 发布,默认重新启用增量编译》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

产品心经:产品经理应该知道的60件事(第2版)

产品心经:产品经理应该知道的60件事(第2版)

闫荣 / 机械工业出版社 / 2016-4 / 69.00

本书第一版出版后广获好评,应广大读者要求,作者把自己在实践中新近总结的10个关于产品的最佳实践融入到了这本新书中。这"10件事"侧重于深挖产品需求和产品疯传背后的秘密,配合之前的"50件事",不仅能帮产品经理打造出让用户尖叫并疯传的产品,还能帮助产品经理迅速全方位提升自己的能力。 本书作者有超过10年的产品工作经验,在互联网产品领域公认的大咖,这本书从产品经理核心素养、产品认知、战略与规划、......一起来看看 《产品心经:产品经理应该知道的60件事(第2版)》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

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

RGB CMYK 互转工具

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

HEX CMYK 互转工具