Rust 团队发布了 Rust 的新版本 1.59.0。Rust 是一种编程语言,它使每个人都能够构建可靠和高效的软件。
内联装配
Rust 语言现在支持内联汇编。这使得许多应用程序需要对其执行进行非常低级别的控制,或访问专门的机器指令。
例如,在为 x86-64 目标编译时,您现在可以编写:
use std::arch::asm; |
asm!用于在和global_asm! 宏中命名寄存器的格式字符串语法与 Rust格式字符串中使用的相同,因此对于 Rust 程序员来说应该很熟悉。
内联汇编可用的汇编语言和指令因目标体系结构而异。今天,稳定的 Rust 编译器支持以下架构上的内联汇编:
- x86 and x86-64
- ARM
- AArch64
- RISC-V
解构分配
您现在可以使用元组、切片和结构模式作为赋值的左侧。
let (a, b, c, d, e); |
const 泛型默认值和交错
泛型类型现在可以为其 const 泛型指定默认值。例如,您现在可以编写以下内容:
struct ArrayStorage<T, const N: usize = 2> { |
以前,类型参数必须位于所有 const 参数之前。该限制已放宽,您现在可以交错使用它们。
fn cartesian_product< |
未来的不兼容警告
有时,Rust 编译器中的错误会导致它接受不应该被接受的代码。现在,当未来版本的 Rust 拒绝依赖项时,Cargo 会向您显示警告。
创建剥离的二进制文件
从您分发的二进制文件中去除不必要的信息(如调试信息)通常很有用,使它们更小。
增量编译默认关闭
1.59.0 版本默认禁用增量(除非通过环境变量明确要求:)