< 返回版块

Yuan YQ 发表于 2025-02-21 12:23

Rust 1.85.0 及 Rust 2024 发布

Rust 1.85.0 稳定版主要更新内容

  • Rust 2024 版:Rust 2024 版正式稳定发布,它带来多项语言、标准库、Cargo、Rustdoc 和 Rustfmt 的更新,如改变 RPIT 生命周期捕获规则、调整临时变量作用域、增加FutureIntoFuture到标准库 prelude 等。用户可参考版本指南进行迁移,部分更改可使用cargo fix自动完成。
  • 异步闭包:Rust 现在支持异步闭包async || {} ,调用时返回futures ,标准库 prelude 中新增AsyncFnAsyncFnMutAsyncFnOnce三个类似的 trait,解决了之前无法让内部异步块借用闭包捕获值和用Fn traits 正确表达高阶函数签名返回Future的问题。
  • 隐藏 trait 实现诊断信息:新增#[diagnostic::do_not_recommend]属性,可让编译器在诊断消息中不显示注解的 trait 实现,避免给库作者提供无用或误导性的建议。
  • 元组的FromIteratorExtend:现在这些特性扩展到了更多长度的元组,从单元素(T,)到 12 个元素(T1, T2, .., T11, T12) ,可使用collect()同时将迭代器数据分散到多个集合中。
  • std::env::home_dir()更新:该函数多年来一直被弃用,因其在某些 Windows 配置下表现异常。现在更新其行为作为 bug 修复,后续版本将移除弃用状态。
  • 稳定的 API:多个 API 达到稳定状态,部分 API 在常量上下文中也稳定可用。

原文地址:https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Linus Torvalds 回复 Christoph Hellwig 的邮件

最近,Linux 社区围绕 Linux 内核中 Rust 代码使用政策的争议展开了激烈的讨论,其核心在于维护者对代码使用的控制权问题。

Linus 在回复中指出:Christoph Hellwig 所反对的 PR 并未触及 DMA 层,只是在其他子目录使用相关代码,未对其维护的代码造成任何改动。他批评 Christoph Hellwig 抱怨新用户使用代码,还提出不合理的论据,强调其行为类似宣称作为 DMA 维护者就要控制代码的使用方式。Linus 说:维护者负责管理代码本身,但无权决定谁使用代码以及如何使用。对于 Rust 代码,如果维护者不想接触,可以选择忽视,但同时也不应干涉 Rust 代码使用其所维护的 C 接口。

但是同时,也给出了“保护墙”的概念:对于不想处理 Rust 问题的 C 开发者,有相应的保护机制;反之,不想处理 Rust 代码的维护者也不应在 Rust 代码相关事务上拥有话语权。而且,实际情况是多样的、复杂的,而不是非黑即白的选择。子系统维护者对于 Rust 绑定代码的参与程度可能各不相同,并非一定要完全参与或完全不参与。

原文地址:https://lore.kernel.org/rust-for-linux/CAHk-=wgLbz1Bm8QhmJ4dJGSmTuV5w_R0Gwvg5kHrYr4Ko9dUHQ@mail.gmail.com/

轻松一刻:Rust 之歌

一位有趣的 Rust 开发者给 Rust 2024 写了一首歌,工作累了来听听吧。

直接听歌:https://www.youtube.com/watch?v=thdpaw_3VTw https://youtu.be/thdpaw_3VTw

原文地址:https://smallcultfollowing.com/babysteps/blog/2025/02/20/rust-2024-is-coming

--

From 日报小组 Yuan YQ

社区学习交流平台订阅:

评论区

写评论
jerryshell 2025-02-22 15:40

Rust for Linux 最近这事闹挺大的

Phoronix 上相关帖子的讨论热度非常高

但我觉得遗憾的是 Linus Torvalds 的这份声明可能有点太迟了

如果 Linus 能在 Hector 和 Christoph 的冲突升级之前早点介入的话,事情可能也不会到现在这个地步

1 共 1 条评论, 1 页