第 5 章 Rust 1.62.1 Toolset 中的更改
Rust Toolset 已从 RHEL 7、RHEL 8 和 RHEL 9 上的 1.58.0 版本更新至 1.62.1。
主要变更包括:
-
解构赋值允许模式在赋值的左侧赋值现有的变量。例如,元组赋值可以交换变量:
(a、b) =(b、a)
-
现在,使用
core::arch::asm!
宏在 64 位 x86 和 64 位 ARM 上支持内联汇编。请参阅参考"/usr/share/doc/rust/html/reference/inline-assembly.html"一章中的"Inline assembly"章节(在线位于 https://doc.rust-lang.org/reference/inline-assembly.html) -
枚举现在可以使用显式注解的
#[default]
变体派生Default
特征。 -
Mutex
、CondVar
和RwLock
现在使用基于自定义的futex
实现,而非 pthreads,Rust 语言保证提供了新的优化。 -
Rust 现在支持
main
中的自定义退出代码,包括实现新稳定的Termination
特征的用户定义的类型。 - cargo 支持更多对依赖项功能的控制。"dep:"前缀可以在不公开为功能的情况下引用可选的依赖项,而"?"仅在其它地方启用了依赖项功能,如 "package-name?/feature-name"。
-
cargo 有一个新的
cargo add
子命令,用于向Cargo.toml
添加依赖项。