Rust : 新版本 1.90.0

原文

Rust 团队很高兴地宣布推出 Rust 新版本 1.90.0。Rust 是一种编程语言,它使每个人都能构建可靠高效的软件。

如果您之前通过 apt 安装了 Rust 的旧版本rustup,则可以使用以下命令获取 1.90.0 版本:

ruby 复制代码
$ rustup update stable

如果您还没有,您可以从我们网站上的相应页面获取rustup,并查看1.90.0 的详细发行说明

如果您想帮助我们测试未来的版本,可以考虑在本地更新到 beta 版(rustup default beta)或 nightly 版(rustup default nightly)。请报告您遇到的任何错误!

1.90.0 稳定版包含哪些内容?

LLD现在是默认链接器x86_64-unknown-linux-gnu

目标平台x86_64-unknown-linux-gnu现在默认使用 LLD 链接器来链接 Rust crate。与默认的 Linux 链接器 (BFD) 相比,这应该会提升链接性能,尤其是在处理大型二进制文件、包含大量调试信息的二进制文件以及增量重建时。

在绝大多数情况下,LLD 应该向后兼容 BFD,除了编译时间缩短之外,您应该不会感觉到任何其他区别。但是,如果您确实遇到了任何新的链接器问题,您可以随时使用-C linker-features=-lld编译器标志来选择禁用 LLD。您可以将其添加到常规RUSTFLAGS环境变量中,或者添加到项目的.cargo/config.toml配置文件中,如下所示:

ini 复制代码
[target.x86_64-unknown-linux-gnu]
rustflags = ["-Clinker-features=-lld"]

如果您在使用 LLD 链接器时遇到任何问题,请告知我们。您可以点击此处阅读更多关于切换到 LLD、一些基准测试数据以及退出机制的信息。

Cargo 为工作区发布添加了原生支持

cargo publish --workspace现在支持自动按正确的顺序发布工作区中的所有 crate(遵循它们之间的任何依赖关系)。

长期以来,通过外部工具或手动订购单个发布内容都可以实现这一点,但此举将此功能引入了 Cargo 本身。

原生集成允许 Cargo 的发布验证功能对所有待发布的 crate 运行构建,如同它们已经发布一样,包括在试运行期间。请注意,发布操作仍然不是原子性的------网络错误或服务器端故障仍然可能导致工作区部分发布。

使用主机工具降级x86_64-apple-darwin到二级

GitHub 即将停止为公共代码库提供免费的 macOS x86_64 运行器。苹果公司也已宣布计划停止对 x86_64 架构的支持。

根据这些变更,从 Rust 1.90 版本开始,我们将目标平台包含宿主工具的 Tier 1降级x86_64-apple-darwin包含宿主工具的 Tier 2。这意味着包含诸如 tvmtvm 等工具的目标平台可以保证构建成功,但不能保证通过我们的自动化测试套件。rustc``cargo

对于用户而言,此变更不会立即产生影响。rustup在目标平台仍处于 Tier 2 级别期间,Rust 项目仍将分发标准库和编译器的构建版本,供用户通过其他安装方式使用。随着时间的推移,该目标平台的测试覆盖率降低可能会导致一些问题或兼容性下降,届时将不会另行通知。

稳定的API

这些先前稳定的 API 现在在 const 上下文中也保持稳定:

平台支持

  • x86_64-apple-darwin现在是一个二级目标

有关 Rust 分级平台支持的更多信息,请参阅 Rust 的平台支持页面。

其他变化

来看看RustCargoClippy中发生了哪些变化。

1.90.0 版本的贡献者

Rust 1.90.0 的开发离不开许多人的共同努力。没有你们,我们不可能完成这项工作。谢谢!

相关推荐
doiito15 小时前
【Agent Harness】Gliding Horse 设计细节 -- 不跟风开发自己的AI Agent
架构·rust·agent
doiito18 小时前
【Agent Harness】Gliding Horse 核心设计理念,不跟风开发自己的AI Agent
ai·rust·架构设计·系统设计·ai agent
花褪残红青杏小1 天前
Rust图像处理第6节- 均值模糊 & 中值模糊:3×3 邻域的两种经典玩法
rust·webassembly·图形学
子兮曰1 天前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust
星栈1 天前
写 Dioxus Demo 不难,难的是把它写成项目
前端·rust·前端框架
mCell1 天前
【锐评】桌面端技术营销:别拿跑分当工程判断
前端·rust·electron
武子康2 天前
调查研究-201 Rust 里的 dev build 和 release build:为什么同一份代码性能差这么多?
后端·架构·rust
doiito2 天前
【Agent Harness】Gliding Horse 的 L2 作战地图:让多 Agent 协作从“摸黑”变成“透明”
ai·rust·架构设计·系统设计·ai agent
星栈2 天前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:再把新建、编辑和交付补上
前端·rust·前端框架
独孤留白3 天前
从C到Rust:基本类型 C 的隐式不确定 vs Rust 的显式确定
rust