Rust 项目目前正致力于推进其设定的41个目标,其中有13个被列为旗舰目标。以下是截至2025年11月,关于这些目标实现进展的概览。更详细的、针对每个目标的具体进度,可在 rust-project-goals 代码库的对应跟踪 issue 中查阅。
官方进展回顾阅读:https://blog.rust-lang.org/2025/12/16/Project-Goals-2025-November-Update.md/
技术探讨:Rust与忽视理论研究的代价
一段视频内容对Rust的内存管理模型及其理论基础提出了批判性观点。其核心论点认为,Rust在追求内存安全的同时,可能因忽视数十年的编程语言研究成果,在系统封装与链接层面引入了新的复杂性甚至安全隐患。该视频从内存管理原则、生命周期系统与理论模型的差异等角度进行了深入分析。
视频要点时间戳:
00:00 开场
00:50 Rust 做了什么
02:59 内存管理原则
05:30 栈内存
08:04 堆内存
09:07 Arenas
11:05 数学 vs 硅谷
13:04 垃圾收集
13:55 Rust 借用和生命周期子类型示例
17:10 通过依赖类型进行安全的边界访问
18:37 理论
19:45 颗粒:线性
21:15 线性度限制
22:39 所有权
25:27 理论和实用主义的阴暗面
26:55 动态链接
30:10 安全噩梦
35:47 Rust 的其他优势
40:06 Rust 重写案例(Discord、ripgrep、rustc)
40:57 OCaml 模块
42:25 编译速度
43:34 运行时速度
44:35 Linux 内核
45:25 GPU 编程
45:52 个人练习
49:18 结论
51:52 未来
观看地址:https://youtu.be/1iPWt1gvT_w
社区讨论:https://www.reddit.com/r/rust/comments/1ppzrr8/rust_and_the_price_of_ignoring_theory/
rustc_codegen_gcc 项目进展报告
rustc_codegen_gcc 作为 Rust 编译器的 GCC 后端,旨在让 Rust 能够利用 GCC 强大的优化能力并扩展对更多硬件架构的支持。最新报告显示,项目在底层工具链集成与多架构编译支持方面取得了稳步进展。
-
GCC上游贡献:项目向 GCC 上游提交了多项补丁以完善对 Rust 特性的支持,部分已合并,包括:
- 增加对
_Float16、_Float128 等浮点类型的支持。
- 修复 Power 架构上的错误。
- 增加设置 ABI 的函数属性。
-
项目核心改进:
- 内存优化:通过拆分深度嵌套表达式,修复了编译时内存占用过高的问题。
- 架构支持增强:实现了寄存器向量类型;通过
dlopen 加载 libgccjit.so,简化了多目标架构的支持流程。
- 内置函数优化:开始使用通用内置函数处理“带检查的算术操作”和“饱和算术操作”。
-
重点突破:m68k架构:当前工作重心是跨平台编译 rustc 到新平台。目前已能成功为 m68k 架构构建出原生的 rustc 二进制文件(仍需少量变通方法),这标志着一个重要的里程碑。
-
测试与进度:
- UI测试通过数从6676增至6774。
- 大部分基础特性(如原子操作、内联汇编)已完成,当前重点在调试信息、Thin LTO 和新架构支持上。
-
呼吁贡献:项目欢迎社区在运行测试、为新平台(如 m68k)添加核心库支持,以及对比 GCC/LLVM 后端生成的汇编代码以寻找优化点等方面贡献力量。
WGPU 发布 v28.0.0 版本
图形API抽象库 wgpu 发布了 v28.0.0 版本,主要更新包括:
- 全面支持网格着色器:在 Vulkan、Metal 和 DX12 上实现了高效的网格簇渲染。
- 重大变更:将“推正常数”重命名为“即时数据”;
enumerate_adapters 函数变更为异步。
- 功能增强:实现了跨平台的多视图支持、线程本地的错误作用域,并将 Vulkan 后端切换至
gpu-allocator。
- 性能与体验优化:新增
LoadOp::DontCare 优化选项、瞬态纹理支持,并调整了日志等级以减少干扰。
仓库地址:https://github.com/gfx-rs/wgpu
TOML 配置格式库更新至 v1.1.0
TOML 配置格式规范发布了 v1.1.0 版本,对开发者编写和解析配置文件带来了多项实用改进,尤其在错误处理优化方面提出了更高要求。
-
内联表语法增强:
- 允许换行:解决了内联表内容过多时难以阅读的问题。
- 允许尾随逗号:与数组行为保持一致,便于版本控制工具查看差异。
-
字符串与字符:
- 新增
\e 转义序列(ESC字符)。
- 放宽了注释中对某些 Unicode 控制字符的限制。
- 进一步明确了必须使用 UTF-8 编码。
-
数字与日期时间:
- 新增对十六进制格式浮点数(如
0x1.1p-4)的支持。
- 明确规定日期时间支持微秒、纳秒等更高精度。
-
规范澄清与兼容性:v1.1.0 旨在澄清 v1.0 中的模糊点,所有符合 1.0 规范的文件在 1.1 中依然有效,并建议解析器提供更具描述性的错误信息。
仓库地址:https://github.com/toml-lang/toml
|