
Rust 1.93.0 稳定版发布
Rust 1.93.0 稳定版已正式发布
相关标签
Rust 1.93.0 稳定版已正式发布,主要带来以下变化:
将捆绑的 musl 更新至 1.2.5 版本
各类 *-linux-musltargets 现均搭载 musl 1.2.5 版本。这主要影响到捆绑了 musl 1.2.3 的静态 musl 构建版本,例如 x86_64、aarch64 和 powerpc64le。此次更新包含多项修复和改进,并引入一项影响 Rust 生态系统的破坏性变更。
对于 Rust 生态系统而言,此次更新的主要动机是大幅改进 musl 的 DNS 解析器,该改进在 1.2.4 版本中首次推出,并在 1.2.5 版本中修复了一些错误。当使用 musl targets 进行静态链接时,这将显著提升可移植 Linux 二进制文件的网络操作可靠性,尤其在处理大型 DNS 记录和递归域名服务器时效果显著。
然而,1.2.4 版本也带来了一个破坏性变更:移除了 Rust libc crate 使用的几个旧版兼容性符号。该问题的修复程序已在 2023 年 6 月发布的 libc 0.2.146 版本中提供(距今已有两年半时间),项目团队认为修复程序已得到充分普及,因此准备在 Rust targets 中进行相应的更改。
详情可参阅之前的公告。
允许全局分配器使用线程局部存储
Rust 1.93 调整了标准库的内部结构,允许用 Rust 编写的全局分配器使用 std 库,并且 std::thread::current通过使用系统分配器来避免重入问题。
Rust 1.93 调整了标准库的内部实现,使用 Rust 编写的全局分配器能够通过使用系统分配器来避免重入性问题,从而安全地使用 std's thread_local! 和 std::thread::current。
详情参阅文档。
asm! 行上的cfg 属性
asm!( // or global_asm! or naked_asm!
"nop",
#[cfg(target_feature = "sse2")]
"nop",
// ...
#[cfg(target_feature = "sse2")]
a = const 123, // only used on sse2
);
更多资讯
想看更多优质内容?
浏览所有资讯