Ladybird 在 AI 的帮助下采用 Rust
一段时间以来,我们一直在寻找一种内存安全的编程语言来取代 Ladybird 中的 C++。我们之前探索过 Swift,但 C++ 互操作从未完全实现,而且 Apple 生态系统之外的平台支持也很有限。 Rust 是一个不同的故事。对于系统编程来说,生态系统要成熟得多,我们的许多贡献者已经了解该语言。展望未来,我们将用 Rust 重写 Ladybird 的部分内容。 为什么生锈? 当我们最初在 2024 年评估 Rust 时,我们拒绝了它,因为它不适合 C++ 风格的 OOP。 Web 平台对象模型继承了很多 20 世纪 90 年代的 OOP 风格,包括垃圾收集、深层继承层次结构等等。 Rust 的所有权模型并不自然适合这一点。 但经过一年的停滞不前,是时候做出务实的选择了。 Rust 拥有我们需要的生态系统和安全保证。 Firefox 和 Chromium 都已经开始将 Rust 引入它们的代码库,我们认为这对于 Ladybird 来说也是正确的选择。 移植 LibJS 我们的第一个目标是 库JS ,Ladybird 的 JavaScript 引擎。词法分析器、解析器、AST 和字节码生成器相对独立,并且通过以下方式具有广泛的测试覆盖范围: 测试262,这使它们成为一个自然的起点。 […]
Rust Coreutils 继续努力实现 100% GNU 兼容性,证明巨魔是错误的
Sylvestre Ledru 是 Rust Coreutils 实现的 uutils 项目的首席开发人员,本周末在 FOSDEM 2026 上介绍了这一举措。 Ledru 前几年曾在 FOSDEM 上发表过关于 Rust Coreutils 的演讲,今年的演讲主要集中在 Ubuntu 25.10 采用它代替 GNU Coreutils。 Ledru 的演讲涵盖了 Rust Coreutils 最近取得的进展,以及 Ubuntu 25.10 对 Rust Coreutils 的采用以及 Ubuntu 26.04 LTS 的延续。虽然由此发现了一些错误,但它们很快就被修复了。 Ledru 的演讲还指出了围绕 Rust Coreutils 的一些流行的恶意攻击,并最终证明其中有多少评论者是错误的。 Rust Coreutils 仍然专注于与 GNU Coreutils 项目 100% 兼容。不断有更多的贡献者加入 Rust Coreutils,并在跨平台改进等领域开展工作。我们还希望将 Rust 重写的成功复制到其他关键的 […]
Rust 中的参数化 CAD – Cam Pedersen
我一直在设计物理零件 我们的机器人。电机支架、传感器支架、轮毂。每次,工作流程都是相同的:打开 GUI CAD 程序,点击一小时,导出 STL,实现螺栓图案偏差 2 毫米,然后重复。 我想像编写固件一样编写我的部件。在铁锈中。有类型。带版本控制。拥有改变一个数字并重新生成一切的能力。 所以我建造了 计算机辅助设计。 货物添加vcad 这个想法 零件只是带有名称的几何图形。您可以创建基元,将它们与布尔运算组合起来,然后导出。就是这样。 使用 vcad::{centered_cube, centered_cylindrical, Bolt_pattern};让盘子 = centered_cube(“盘子”, 120.0, 80.0, 5.0);让孔= centered_圆筒(“孔”,15.0,10.0,64);让螺栓 = Bolt_pattern(6, 50.0, 4.5, 10.0, 32);让零件 = 板 – 孔 – 螺栓;部分.write_stl(“plate.stl”).unwrap(); 那个负号是一个真正的布尔差异。 + 是并集。 & 是交集。运算符重载使 CSG 感觉像算术。 上面的板有一个中心孔、四个角安装孔和六螺栓圆形图案。十二行代码。一个 STL 文件。完毕。 您可以构建什么 API 故意很小。基元、布尔值、变换、模式。这就是整个语言。但组成得很好。 两面都有安装孔的 L 型支架: 让base = centered_cube(“base”, […]
发布 Rust 1.93.0 | Rust 博客
2026 年 1 月 22 日 · Rust 发布团队 Rust 团队很高兴发布 Rust 的新版本 1.93.0。 Rust 是一种编程语言,使每个人都能够构建可靠且高效的软件。 如果您通过以下方式安装了以前版本的 Rust rustup,您可以通过以下方式获得 1.93.0: $ rustup update stable 如果您还没有,您可以 得到 rustup 从我们网站上的相应页面,并查看 1.93.0 的详细发行说明。 如果您想通过测试未来的版本来帮助我们,您可以考虑在本地更新以使用测试版渠道(rustup default beta)或夜间频道(rustup default nightly)。请 报告 您可能遇到的任何错误! 1.93.0 稳定版中有什么 将捆绑的 musl 更新到 1.2.5 各种 *-linux-musl 现在的目标是全部 船 与 musl 1.2.5 一起使用。这主要影响静态 musl 构建 x86_64, aarch64, […]
Rust 1.93 已经到来,以下是新内容
Rust 1.93.0 现已稳定并已于今天发布。它的重点是加强编译器的安全保证,同时为性能关键型任务提供重要的新工具。这是一个可靠的版本,使该语言在最重要的领域感觉更加成熟。 如果您为 Linux 构建静态二进制文件(尤其是在 x86_64 或 aarch64 上),您的网络可靠性将得到大幅提升。 Rust 1.93 将捆绑的 musl 库提升到了 1.2.5 版本,这解决了旧版本中 DNS 解析方面长期存在的一些问题。如果您正在构建处理网络的可移植 Linux 二进制文件,这是个好消息,因为它使该功能更加可靠。 这在处理大型 DNS 记录或复杂的递归名称服务器时尤其有用。 musl 更新删除了一些旧的兼容性符号。铁锈 libc 板条箱使用了这些符号。然而,两年多前就已经发布了针对此问题的修复程序,因此大多数现代项目在升级过程中不应遇到任何问题。 通过允许全局分配器访问线程本地存储,标准库现在可以让您安全地使用诸如 std::thread_local! 不会触发重入问题。对于那些编写高度优化的低级代码的人来说,新的支持 cfg 属性直接在 asm! 线条太棒了。以前,如果您想根据目标特征有条件地包含一些装配指令,则必须复制整个指令 asm! 条件编译语句内的块。 现在,您可以应用条件编译,例如 #[cfg(target_feature = “sse2”)],直接连接到块内的各个装配线或约束。这使得编写特定于平台的优化更加清晰且更易于维护。 该版本稳定了大量 API,为开发人员提供了管理内存和数据结构的新工具。几种新方法 MaybeUninit 切片现已稳定。这些包括 assume_init_drop, assume_init_ref,以及类似的方法 write_copy_of_slice。在处理未初始化的缓冲区时,它们提供了对内存安全的精细控制。如果您使用 FFI 或自定义内存管理,您还会欣赏到 String::into_raw_parts 和 Vec::into_raw_parts 现在是正式的。 这使您可以将这些集合解构为其核心组件,例如原始指针、长度和容量。性能迷会欣赏未经检查的整数运算的稳定性,例如 […]
微软用更现代的 Rust 取代了 C/C++。他想在五年内重写十亿行代码 – Živě.cz
1767283499 2026-01-01 12:44:00 微软正在计划一项重大行动,其中所有用 C/C++ 语言创建的代码都将被替换为更年轻的 Rust 编程语言的新代码。这在您的 LinkedIn 个人资料上 盖伦·亨特报道微软杰出工程师。这是一个研究项目职位的广告。 Windows 不受上述影响,开发者后来在回应他的帖子引起的轰动时表示。为了避免误解,我将原文声明如下: “我的目标是到 2030 年消除 Microsoft 中的所有 C 和 C++ 代码。” 亨特表示,微软正在使用人工智能和算法大规模地重新编写代码。人工智能代理持续执行任务并使用算法进行纠正。一个人监督这个过程。雷德蒙德人民已经建立了基础设施,现在他们正在寻找人才。 目标是让一名开发人员使用自动化 每月处理一百万行代码。微软作品 50让 它的许多产品都包含非常古老的代码。有时甚至有几十年的历史。现代化本身并不是目的。 C 和 Rust 在语法上相似,但 Rust 从一开始就被设计为敏捷且相对简单但安全。如果您密切关注 Windows 的发展,您可能还记得 操作系统的一小部分核心代码已经被微软重写为Rust。它发生了 两年半前。 主要论点是安全。 Microsoft 企业和操作系统安全副总裁 David Weston,2023 年 4 月在 BlueHat IL 他说制造商将把 Windows 核心技术重写为 Rust。但只有有意义的部分。 该研究项目有一个雄心勃勃的目标 因此,盖伦·亨特的补充声明可能看起来有悖常理。但他们并没有完全排除在之前宣布的意图之外。 Hunt 表示,Windows […]
研究人员发现恶意 VS Code、Go、npm 和 Rust 包窃取开发者数据
报告 2025 年 12 月 9 日Ravie Lakshmanan 恶意软件/威胁分析 网络安全研究人员在 Microsoft Visual Studio Code (VS Code) Marketplace 上发现了两个新扩展,旨在用窃取恶意软件感染开发人员计算机。 VS Code 扩展伪装成高级深色主题和人工智能 (AI) 支持的编码助手,但实际上,它隐藏着下载额外负载、截取屏幕截图和虹吸数据的隐蔽功能。然后捕获的信息被发送到攻击者控制的服务器。 “你的代码。你的电子邮件。你的 Slack DM。无论你屏幕上有什么,他们也会看到,”Koi Security 的 Idan Dardikman 说。 “这只是开始。它还会窃取您的 WiFi 密码、读取您的剪贴板并劫持您的浏览器会话。” 扩展名如下 – BigBlack.bitcoin-black(16 个安装)- 已于 2025 年 12 月 5 日被 Microsoft 删除 BigBlack.codo-ai(25 个安装)- 于 2025 年 12 月 8 […]
VoidZero 的 Rolldown 库:具有 Rust 速度的 Rollup 兼容 API
滚降是一个用 Rust 编写的新 JavaScript/TypeScript 捆绑器,由 ViteZero 等项目的维护者推出。 Rolldown 提供了传统捆绑器的高性能替代方案,并且完全兼容 Rollup 插件生态系统。 Rolldown 被设计为现代构建工作流程的下一个逻辑步骤,承诺显着缩短构建时间,同时保留熟悉的插件界面。 Rolldown 主要被设计为 Vite 内的底层捆绑器,以取代 esbuild 和 Rollup 现有的 Vite 依赖项。它还将用于新发布的 Vite+ 项目。 Rollup 和 Rolldown 之间的一个关键区别是 Rolldown 是用 Rust 编写的,这意味着它可以利用本机多线程执行,并且比基于 JavaScript 的工具开销更少。据该项目背后的团队称,Rolldown 可以“比 Rollup 快 10-30 倍”,并且根据 这篇文章 在 X 上,它在测试中也大幅击败了 esbuild。 Rolldown 的 API 特意与 Rollup 的插件系统兼容,这意味着大多数现有的 Rollup/Vite 插件应该可以继续使用,只需进行最小的更改。然而,它确实引入了 Rollup 范围之外的功能,例如高级块分割、内置转换(TypeScript/JSX […]
如何不学习 Rust
我见过太多优秀的程序员努力学习 Rust,甚至放弃。 以下是我见过的可能导致你学习 Rust 失败的错误。我希望这份清单能帮助您避免它们。 错误一:没有为迈出第一步做好准备 学习 Rust 最糟糕的方法是在完成繁重的工作后,在晚上进行短暂而分散的学习,模糊地观察它,或者尝试一些小东西。当然,您以前确实学过一些这样的语言,所以您可能对自己的能力充满信心。但在 Rust 的某个时刻,可能很快就会到来,你会遇到更高的一步,如果你不集中精力和奉献精神与之抗争,你就有无法克服它的风险。 这可能令人沮丧。有些人放弃了。 如果你变得陈旧并且想走得更远,你应该 理解这很正常,因为 Rust 有不同的概念,你必须学习 不尝试就停止尝试,你在浪费时间和动力 投入时间和精力重返战斗 它应该会在某个时刻发出咔嗒声,然后它只会变得越来越好,但预计最初会遇到一些困难。 错误二:不看书就一头扎进去 (当我们锈类动物说 这本书,我们的意思是 这 书 但不要让这掩盖了此后其他优秀书籍已经出版的事实) Rust 很大,并不是所有事情都可以通过乱搞来显而易见。重要的是,您至少已经注意到特征、宏、智能指针等,并且本书提供了所有主要概念的简短介绍。 因此,在潜水之前,请先对这本书(或多本书)进行概述。也许没有完全阅读它,但请确保已阅读所有标题,以便您知道稍后何时返回。 错误 3:从实现基于图的算法开始 旧的计算机科学课程充满了数学上漂亮的算法或数据结构,这些算法或数据结构在白板测试或学习练习中反复使用。 最引人注目的例子是链表及其变体。 我总是看到新手来到 Stack Overflow 询问如何编写它们。 这些结构在 Rust 中很难实现。而且它们很难正确完成。不是你:而是 Rust 的特定模型。 此外,您不需要链接列表。如果你的设计不好的话,这是一个工具,或者是一个中间目标,而不是一个具体的目标。它是一个不适合这个工具箱的工具。这有点像试图让你的新车用煤炭来驱动。这很困难,而且您试图在错误的环境中使用旧的解决方案。 此时您不必确信基于指针的列表不是您所需要的。现在,就认为用链表学习 Rust 是一个非常糟糕的主意。 这个错误的一个变体是首先针对一个真正需要图表或参考资料的问题:而不是把它作为你的第三个或第四个箱子。图表通常是必要的,至少在语义上是必要的,但是之前要学习 Rust,了解 arenas,学会喜欢借用检查器并熟悉生命周期。 我没有弥补链接列表点,这是首先观察到的 这首著名的作品,但链表仍然是新人最喜欢击沉船只的礁石之一。 错误4:不阅读编译器错误 您可能习惯于编译器错误最多只是一个模糊的指针,指向编译器无法理解您的含义的一般区域。 但在 Rust 中却行不通。 […]
Rust 和 C++ 以及 Steve Klabnik 和 Herb Sutter
在软件工程中,C++ 通常用于低级系统访问和高性能至关重要的领域,例如操作系统、游戏引擎和嵌入式系统。它的长期存在以及与遗留代码的兼容性使其成为维护和扩展旧项目的首选语言。 Rust 虽然较新,但在需要安全性和并发性的角色中越来越受欢迎,特别是在系统编程中。 我们想同时探索这两种语言,所以我们邀请了 赫伯·萨特 和 史蒂夫·克拉布尼克 与主持人凯文·鲍尔一起参加节目。 Herb 在微软工作并担任 ISO 主席 C++ 标准委员会。史蒂夫在 Oxide Computer Company 工作,是 锈 核心团队,是《Rust 编程语言》一书的主要作者。 我们希望您喜欢《软件工程日报》上对 Rust 和 C++ 的深入探讨。 凯文·鲍尔 或 KBall,是 Mento 的工程副总裁,也是工程师和工程领导者的独立教练。他是两家公司的联合创始人并担任 CTO,创办了圣地亚哥 JavaScript 聚会,并通过 Latent Space 组织了 AI 不作为讨论组。 请点击此处查看本集的文字记录。 赞助商 隆重推出 Height:唯一的自主项目管理工具。待办事项整理、错误分类、保持文档最新——这些不是您从事这份工作的原因,对吧?好吧,Height 会为您处理所有繁琐的工作。 使用首创的人工智能方法,Height 无需您费力即可卸载耗时的工作流程。它将您的规范与范围变更同步,组织您的积压工作,并确定新错误的优先级,将关键问题上报给合适的人。 团队中的每个人都负责管理项目——跟踪更新、确定工作范围、平衡优先级。但您的成功不应该依赖于项目管理。借助 Height,自主工作流程可以处理日常维护工作,因此您的团队可以专注于构建出色的产品。 如果您准备好停止管理项目,那么现在是时候使用 Height 了。加入产品构建的新时代——项目自我管理。 立即注册 Height 并永久卸载项目维护工作。访问 […]
