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 的开发离不开许多人的共同努力。没有你们,我们不可能完成这项工作。谢谢!

相关推荐
songroom4 小时前
Rust: 量化策略回测与简易线程池构建、子线程执行观测
开发语言·后端·rust
资深web全栈开发4 小时前
二分搜索中 `right = mid` 而非 `right = mid + 1` 的解释
算法·rust·二分搜索
Pomelo_刘金5 小时前
Rust : 新版本 1.89.0
rust
Pomelo_刘金5 小时前
Rust : Trusted Publishing(受信发布)
rust
Pomelo_刘金5 小时前
Rust :裸函数 naked functions
rust·嵌入式
猫头虎8 小时前
Rust评测案例:Rust、Java、Python、Go、C++ 实现五大排序算法的执行时间效率比较(基于 OnlineGDB 平台)
java·开发语言·c++·python·golang·rust·排序算法
ftpeak8 小时前
Rust 嵌入式开发的经验之谈
开发语言·后端·rust
已黑化的小白19 小时前
Rust 的所有权系统,是一场对“共享即混乱”的编程革命
开发语言·后端·rust
John_Rey20 小时前
Rust类型系统奇技淫巧:幽灵类型(PhantomData)——理解编译器与类型安全
前端·安全·rust