Rust 官方动态
编辑: 张汉东
Rust基金会成员开放申请了:
https://foundation.rust-lang.org/info/become-a-member/
Rust 1.52 稳定版发布
要点:
- unsafe_op_in_unsafe_fn lint 稳定。当前 Rust 把 unsafe 函数本身当作一个 unsafe block,该lint的出现就是为来改变这种行为: 现在要求,unsafe函数中调用unsafe函数,必须再加一个 unsafe block。 该lint现在是 allow-by-default ,就是说,默认不会更改 当前行为,只有你用 #[deny(unsafe_op_in_unsafe_fn)] 或 #[warn(unsafe_op_in_unsafe_fn)] 才会允许更改当前行为。
- 允许可变数组引用直接转换为可变/不可变原生指针。
- 编译器后端升级到 LLVM12
- 现在所有的整数除法和余数操作都是 const fn 了
- 稳定了 str/slice/char 类型的多个 API ,并且部分 API 都是 const fn 都了
- Rustdoc markdown 现在支持 task list 了
- cargo test 支持传入多个文件
兼容性变更:
- RUSTC_BOOTSTRAP 已经在 build.rs 中被禁止设置
- 代码中要使用了 proc-macro-hack 可能会导致 panic,需要执行 cargo unpdate -p proc-macro-hack 解决此问题
https://blog.rust-lang.org/2021/05/06/Rust-1.52.0.html
Rust 1.52.1 发布
此版本主要解决增量编译中的一个错误,该错误在1.52.0中变成了编译器错误。
建议所有Rust用户,包括当前使用1.52.0之前的稳定版本的用户,升级到1.52.1或禁用增量编译。
目前只是一个临时的修复计划,目前此错误还未被完全修复,毕竟增量编译功能是刚需。主要是修复 verify-ich 相关 issues,目前还有很多 :https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+unstable+fingerprints
目前官方正在积极修复此错误。 Rust团队还将制定计划,以确保在将来有更好的bug跟踪系统,既可以防止此类情况再次发生,也可以通过更准确地跟踪bug来进一步提高我们版本的稳定性。
https://blog.rust-lang.org/2021/05/10/Rust-1.52.1.html
官方宣布 Rust 2021 edition plan
https://blog.rust-lang.org/2021/05/11/edition-2021.html
之前翻译版本 :https://mp.weixin.qq.com/s/C36k7_ZEcgpesAYmqDdV-w
P.S 大家要不要听听 Rust Edition 之歌:
https://smallcultfollowing.com/babysteps/blog/2021/05/26/edition-the-song/
新的 RFC 被合并: const-ub
为了在 CTFE 的时候进行 UB-checking
https://github.com/rust-lang/rfcs/blob/master/text/3016-const-ub.md
rustc 从 1.46 到 1.51 性能提升不少
有人在reddit上发帖,说他在 OpenBSD 平台上将 Rust 从1.46更新到1.51,发现他的项目编译时间减少了30%。
https://www.reddit.com/r/rust/comments/n2lh7z/rustc_performance_improvement_from_rust_146_to_151/