当前位置: 首页 > news >正文

初探 Rust 2026 项目目标:66 个目标、6 大旗舰主题与全年路线图

本文是对 Rust 官方 Inside Rust 博客《First look at 2026 Project goals》及其配套 RFC 草案的完整中文解读。作者为 Niko Matsakis,代表 Goals 团队发布于 2026 年 2 月 3 日。


内容结构概览

  1. 背景:项目目标机制的演变
  2. RFC 草案已发布,正式征求反馈
  3. 六大旗舰主题详解
    • Beyond the&:让智能指针像引用一样自然
    • Unblocking dormant traits:解锁沉睡的 trait
    • Constify all the things:全面 const 化
    • Higher-level Rust:更高层次的 Rust
    • Secure your supply chain:保障供应链安全
    • Building blocks:基础设施积木
  4. 流程时间线:从草案到正式公告
  5. 66 个目标全览(按规模分类)
    • 大型目标(Large):16 项
    • 中型目标(Medium):30 项
    • 小型目标(Small):20 项
  6. 常见问题解答
    • 为什么是"2026 目标"而不是"2026H1 目标"?
    • 目标还可以提交吗?
    • 是否有资金支持?
    • 什么是"旗舰主题"?
    • Small / Medium / Large 请求分别意味着什么?
    • 什么是团队 Champion?
    • "项目目标"名称的含义
  7. 如何参与

一、背景:项目目标机制的演变

Rust 项目目标计划(Project Goals)是 Rust 社区近年来建立的一套机制,用于明确声明项目在特定时间段内重点推进的工作,并为这些工作匹配"所有者"(owner,负责做事的人)和"团队"(team,负责接受和支持这项工作的人)。

本次发布的是2026 年度项目目标的第一稿 RFC 草案,与以往半年一次的节奏不同,这次计划以全年为周期运作。目标机制也在持续完善,加入了"旗舰主题"(Flagship Theme)这一新概念,为更长远的技术方向提供高层次的叙事框架。


二、RFC 草案已发布,正式征求反馈

Goals 团队已发布 2026 项目目标 RFC 草案的第一稿,内容包括迄今为止提交的所有目标提案,以及候选的旗舰主题列表。

作为第一稿,其目的是征集反馈、激发讨论。如果你有疑问或意见,欢迎在 Zulip 的 #project-goals/2026-workshop 频道中开启话题。

Goals 团队希望收到以下方面的反馈:

  • 对任何目标向你所在团队发出请求,是否有顾虑?(例如认为这个目标方向不好,或你的团队没有能力支持它)
  • 各目标中的"Team Asks"是否合理?规模是否应该调整?
  • 对"旗舰主题"有何看法?是否有其他主题方向的想法?是否愿意担任某个主题的联系人(point of contact),负责追踪整体进展并起草定期更新博文?
  • 是否有你想推进的工作,认为可以作为一个目标,或与现有主题契合?(如果资金是障碍,也许可以获得支持!)

三、六大旗舰主题详解

旗舰主题是跨越多个目标周期的长期努力方向,每个主题代表对 Rust 未来走向的一种愿景,并配有 2026 年度的具体里程碑。以下逐一介绍。


1. Beyond the&:让智能指针像引用一样自然

Rust 的引用(&&mut)非常符合人体工学,但对于ArcPin、自定义智能指针等类型来说,用法往往要繁琐得多。这一主题致力于弥合这一差距,让智能指针拥有接近原生引用的使用体验。

2026 年关键里程碑:

  • Field Projections 的实验性支持:允许通过智能指针直接访问其包裹类型的字段,而无需手动解引用或编写样板代码。
  • Reborrow traits 的推进:通过引入显式的 reborrow trait,让自定义指针类型能够像&T那样参与借用检查,支持更自然的临时借用语义。
  • In-place initialization 的设计对齐:为在智能指针中直接构造对象(无需先在栈上构造再移动)提供语言层面的支持,对 Linux 内核等场景尤为重要。

2. Unblocking dormant traits:解锁沉睡的 trait

Rust 中有一些 trait 和类型系统特性长期处于"沉睡"状态,无法稳定或演进,根本原因在于底层 trait solver 的局限性,以及缺乏必要的类型系统基础设施。这一主题旨在系统性地解决这些阻碍。

2026 年关键里程碑:

  • 稳定下一代 trait solver:新版 trait solver(基于 next-generation solver)将带来更正确、更强大、更可预测的类型推断和 trait 解析能力,是解锁众多沉睡特性的前提。
  • 稳定 Sized 层次结构:通过引入更精细的 Sized 层次(包括对?Sizeddyn以及可扩展向量等的改进),使之前无法正确表达的类型关系得以建模。

3. Constify all the things:全面 const 化

将更多计算提前到编译期是 Rust 性能与表达能力的重要组成部分。这一主题推动const能力在语言的各个层面得到全面扩展和完善。

2026 年关键里程碑:

  • 稳定 const generics 的扩展:完整的 const generics 支持(Full Const Generics)将允许在泛型参数中使用更复杂的常量表达式,包括对 struct 和关联常量的支持。
  • prototype reflection:探索编译期类型内省(reflection)和 comptime 求值的原型,为 Rust 未来的元编程能力奠定基础。

4. Higher-level Rust:更高层次的 Rust

这一主题关注降低 Rust 的使用门槛,提升日常开发体验,让 Rust 能更自然地用于脚本、工具和应用级开发,而不仅仅是系统编程场景。

2026 年关键里程碑:

  • 稳定 cargo-script:允许在单个.rs文件的开头直接声明依赖,无需创建完整的 Cargo 项目即可运行含依赖的 Rust 脚本,大幅降低一次性工具和脚本的编写门槛。
  • prototype the Share trait(即 Ergonomic ref-counting):探索让引用计数(Arc/Rc)更符合人体工学的语言机制,减少.clone()噪音,使共享所有权的代码更加简洁。

5. Secure your supply chain:保障供应链安全

随着 Rust 在安全敏感领域(内核、嵌入式、云基础设施)的广泛应用,供应链安全变得愈发重要。这一主题致力于为 Rust 生态提供更强大的供应链安全工具。

2026 年关键里程碑:

  • 稳定 public/private dependencies:允许 crate 显式声明哪些依赖是公开 API 的一部分,哪些仅用于内部实现,从而帮助工具链检测意外的 API 泄漏。
  • 稳定 SBOM 支持:为 Cargo 添加软件物料清单(Software Bill of Materials)的生成能力,使项目能够系统化地追踪和审计其依赖树中的所有组件。

6. Building blocks:基础设施积木

这一主题聚焦于让 Rust 的工具链和构建系统在复杂、大型工程场景中更具可组合性和可集成性,为 Rust 进入更多工业级场景打下基础。

2026 年关键里程碑:

  • build-std 的设计推进:允许用户以自定义编译选项重新构建标准库(如启用特定优化或目标特性),对嵌入式和裸机场景尤为关键。
  • cargo plumbing 命令原型:探索一组底层 Cargo "管道"命令,使 Cargo 能够更方便地被集成到 Bazel、CMake 等外部构建系统中,而无需绕过 Cargo 的核心逻辑。

四、流程时间线

本轮项目目标的推进按月推进,各阶段如下:

  • 一月(已完成):征集目标提案,撰写第一稿草案。
  • 二月(进行中):公开征求反馈,完善 RFC 文本。
  • 三月:正式开放 RFC,推动合并。RFC 需获得所有在目标中有"Team Ask"的团队负责人的批准。
  • 四月:正式公告 2026 项目目标。

五、66 个目标全览

本次草案共包含66 个目标,按团队投入规模分为大型(Large)、中型(Medium)、小型(Small)三类。以下按分类逐一列举。


大型目标(Large)——共 16 项

大型目标需要整个团队深度参与,包括设计会议、复杂 RFC 的审查与推进等。

目标负责人核心团队
Arbitrary Self Types(任意 Self 类型)Ding Xiang Feitypes、lang、libs-api 等
build-std(标准库自定义构建)David Woodcargo、compiler、libs 等
Full Const Generics(完整 const 泛型)Boxylang、types
Const Traits(const trait)Deadbeeflang、types
Architectural groundwork for expansion-time evaluation(展开期求值架构基础)Oliver Scherercompiler、types
Field Projections(字段投影)Benno Lossinlang、compiler、types、libs 等
Evolving the standard library API across editions(跨 edition 演进标准库 API)Amanieu d’Antrasedition、libs-api、compiler 等
MIR move elimination(MIR 移动消除)Amanieu d’Antrasopsem、compiler
Immobile types and guaranteed destructors(不可移动类型与确定性析构)Jack Hueylang、types
Stabilize the next-generation trait solver(稳定下一代 trait solver)lcnrtypes、lang
Promoting Parallel Front End(推进并行前端)Sparrow Liwg-parallel-rustc、compiler
Stabilize and model Polonius Alpha(稳定并建模 Polonius Alpha)Rémy Rakictypes
Redesigningsuper let:Flexible Temporary Lifetime Extension(重新设计super let:灵活的临时值生命周期扩展)diannelang、compiler
reflection and comptime(反射与编译期求值)Oliver Schererlang、compiler、libs-api
Normative Documentation for SoundunsafeRust(健全 unsafe Rust 的规范性文档)Pete LeVasseuropsem、lang、libs-api
Design, model, and implement a stabilizable-subset of specialization(设计并实现可稳定化的 specialization 子集)Jack Hueytypes、lang、libs
Stabilize FLS Release Cadence(稳定 FLS 发布节奏)Pete LeVasseurfls、spec

中型目标(Medium)——共 30 项

中型目标需要来自团队的一名 Champion 提供专项支持,但不需要整个团队深度介入。

目标负责人
Box notation for dyn async trait(dyn async trait 的 Box 表示法)Niko Matsakis
Assumptions on Binders(Binder 上的假设条件)Boxy
Async Future Memory Optimisation(异步 Future 内存优化)Ding Xiang Fei
Async statemachine optimisation(异步状态机优化)Dion Dokter
BorrowSanitizer(借用检查器 Sanitizer)Ian McCormack
Cargo cross workspace cache(Cargo 跨 workspace 缓存)Ross Sullivan
Dictionary Passing Style Experiment(字典传递风格实验)Nadrieril
Ergonomic ref-counting(人体工学引用计数)(寻找负责人)
Experimental language specification(实验性语言规范)Jack Huey
High-Level ML optimizations(高层 ML 优化)Manuel Drehwald
Improverustc_codegen_craneliftperformance(改进 Cranelift 代码生成后端性能)bjorn3
In-place initialization(原地初始化)Alice Ryhl
Incremental Systems Rethought(增量编译系统重构)Alejandra González
Declarative (macro_rules!) macro improvements(声明式宏改进)Josh Triplett
Control over Drop semantics(Drop 语义控制)Jayan Sunil
Implement and Maintain MC/DC Coverage Support(MC/DC 覆盖率支持)Dorian Péron
Implement Verifiable Mirroring Prototype(可验证镜像原型实现)walterhpearce
Open Enums(开放枚举)Alyssa Haroldsen
Nightly support for function overloading in FFI bindings(FFI 绑定中函数重载的 nightly 支持)Devin Jeanpierre
Continue Experimentation with Pin Ergonomics(继续 Pin 人体工学实验)Frank King
Stabilize public/private dependencies(稳定公开/私有依赖)(寻找负责人)
Reborrow traits(重新借用 trait)Aapo Alasuutari
Prepare TAIT + RTN for stabilization(为 TAIT + RTN 稳定化做准备)(寻找负责人)
Stabilize Rust for Linux compiler features(稳定 Rust for Linux 编译器特性)Tomas Sedovic
Sized Hierarchy and Scalable Vectors(Sized 层次结构与可扩展向量)David Wood
Stabilize MemorySanitizer and ThreadSanitizer Support(稳定 MSan/TSan 支持)Jakob Koschel
Stabilize Cargo SBOM precursor(稳定 Cargo SBOM 前驱特性)(寻找负责人)
Stabilize the Try trait(稳定 Try trait)Tyler Mandry
Implement Supertraitauto impl(实现 Supertrait auto impl)Ding Xiang Fei
Explicit tail calls &loop_match(显式尾调用与loop_matchFolkert de Vries
Wasm Components(Wasm 组件模型支持)Yoshua Wuyts

小型目标(Small)——共 20 项

小型目标通过标准团队流程处理,不需要专人专项支持。

目标负责人
Expanding a-mir-formality to work better as a Rust type system spec(扩展 a-mir-formality 作为类型系统规范)Jack Huey
AArch64 Pointer Authentication using pauthtest target(AArch64 指针认证)Jakub Chlanda
Stabilize Cargo’s linting system(稳定 Cargo lint 系统)Ed Page
Prototype a new set of Cargo “plumbing” commands(Cargo 管道命令原型)(寻找负责人)
Stabilize cargo-script(稳定 cargo-script)Ed Page
Continue resolvingcargo-semver-checksblockers(推进 cargo-semver-checks 合入 cargo)Predrag Gruevski
Improving Unsafe Code Documentation in std(改进标准库 unsafe 文档)XU Hui
Interactive cargo-tree: TUI for dependency graph(cargo-tree 交互式 TUI)Orhun Parmaksız
C++/Rust Interop Problem Space Mapping(C++/Rust 互操作问题空间映射)teor
libc 1.0 release readiness(libc 1.0 发布准备)Yuki Okushi
Finish the libtest json output experiment(完成 libtest JSON 输出实验)(寻找负责人)
Implement Open Rust Namespace Support(开放命名空间支持实现)(寻找负责人)
Establish a Spot for Safety-Critical Lints in Clippy(在 Clippy 中为安全关键 lint 建立专区)Pete LeVasseur
Stabilize never type (!)(稳定 never 类型)waffle
Stabilizingf16(稳定 f16 类型)Folkert de Vries
Type System Documentation(类型系统文档)Boxy
Stabilize Unsafe Fields(稳定 unsafe 字段)Jack Wrenn
Establish a User Research Team(建立用户研究团队)Niko Matsakis

六、常见问题解答

为什么说"2026 目标"而不是"2026H1 目标"?

项目目标的节奏从每半年一次调整为每年一次。目标计划聚焦于规模较大、需要较长时间推进的工作。

团队成员可以在年中新增目标,但要求届时已有 Champion 和团队对目标方向的基本共识。


还可以提交目标吗?

可以,目标全年均可提交。但对于二月及之后提交的目标,要求提交时已有 Champion,并已获得相关团队的初步认可。当然,作为某个团队的成员,你可以为自己所在团队的目标担任 Champion。


是否有资金支持?

。团队正在与潜在赞助方就项目目标及 Champion 的资助事宜进行商议。如果有意向,可以在 Zulip 上联系 nikomatsakis 进一步沟通。


什么是"旗舰主题"?

旗舰主题的设计初衷是:对于只有有限时间关注 Rust 进展的人,它能提供一个高层次的视角,了解项目在大方向上的走势。这些主题的时间跨度往往超过一年(例如"Beyond the&"代表一个多年期的技术演进计划)。

目标是:每个旗舰主题都有一名联系人(point of contact),负责持有愿景、回答外部问题,并参与起草定期进展博文。


可以提出新的旗舰主题吗?

可以,截止日期为 2 月 14 日(情人节)。可以使用FLAGSHIP_TEMPLATE.md提交 PR。

如果只是对现有主题提出修改意见,或愿意担任某个主题的联系人,可以在#project-goals/2026-workshop中联系。


Small / Medium / Large 请求分别意味着什么?

这三个级别用于描述一个目标需要从各团队获取的支持规模,帮助各团队避免过度承诺。

  • Vibes:快速检验一个想法是否值得深入探索,是否适合未来带着更成熟方案来找团队。
  • Small(小型):团队只需做常规性的小型 review 和操作。典型场景:添加一个 lint,涉及单个 PR。
  • Medium(中型):需要一名团队成员提供专项支持,协助探索设计或特性,其他团队成员小范围参与。典型场景:早期阶段的实验,或需要多个 PR 才能完成的任务。
  • Large(大型):需要整个团队围绕设计或特性达成共识。典型场景:RFC、稳定化决策,或需要广泛团队共识的事项。

以下是一些具体规则参考(以 lang + compiler 为例):

任务langcompiler
添加一个 lintSmallSmall
落地复杂的编译器变更Medium
推进早期语言实验MediumMedium
接受一个语言 RFCLargeMedium
稳定一个语言特性LargeMedium
审查并稳定微妙的引用变更Large
重构编译器增量系统Large

什么是团队 Champion?

团队 Champion 是指同意以个人身份为目标 owner 提供持续支持的团队成员。Champion 通常每周或每两周与 owner 进行一次会面,帮助提供设计指导,指引 owner 找到团队内更合适的人获取进一步信息,并负责代表 owner 在团队内部回答关于该目标的问题。

作为某个团队的成员,你可以为自己的目标担任 Champion。


"项目目标"这个名称的含义

项目目标(Project Goal)是以下两方之间的一个协议:

  • Owner(所有者):负责完成具体工作的人;
  • Team(团队):愿意接受并支持这项工作的团队。

Owner 可以是 Rust 团队成员,也可以是项目外部的贡献者。唯有"相关团队认可该目标"这一条件成立,它才能成为 Rust 的项目目标。这也是"项目目标"中"项目"二字的含义所在——它代表整个 Rust 项目对这项工作的背书。


七、如何参与

如果你:

  • 对某个目标有疑问或想法,欢迎在 #project-goals/2026-workshop 频道发起讨论。
  • 想提交新目标,现在仍然来得及,只需提前找好 Champion 并与相关团队取得初步共识。
  • 想提出或完善旗舰主题,参见上方"可以提出新的旗舰主题吗?"一节,截止日期为 2 月 14 日。
  • 需要资金支持,可在 Zulip 上联系 nikomatsakis。

完整草案可在 rust-lang.github.io/rust-project-goals/2026/ 查阅。


原文作者:Niko Matsakis,代表 Goals 团队发布。原文链接:https://blog.rust-lang.org/inside-rust/2026/02/03/first-look-at-2026-project-goals/

http://www.zskr.cn/news/1508072.html

相关文章:

  • 前后端分离校园组团平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • 植物大战僵尸终极修改器:重新定义你的游戏体验
  • 一键下载30+文库平台文档:kill-doc让你告别文档下载烦恼
  • 金狮悠闲服背后的情绪科学——身体先松弛,心才会松弛
  • 从产线摩擦到手指触碰:深入芯片内部,图解CDM模型为何成为现代IC(如CPU/存储)的“头号静电杀手”
  • 2026年倒闭工厂回收公司怎么选?深圳、成都、上海等多地服务商横向评测与真实案例解析 - 优质品牌商家
  • 2026年聚氨酯保冷管托厂家实力解析:行业趋势、技术参数与真实案例深度盘点! - 优质品牌商家
  • Gemini 函数调用实践:让 AI 查询订单并创建工单
  • 高海拔风电箱变测控系统实战评测:凯源 KT3320T 青海大柴旦项目深度解析
  • 基于SpringBoot+Vue的民族婚纱预定系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • Django图书管理系统实战源码包:含MySQL建库脚本、带注释Python代码与运行截图
  • 从DQN到DDPG:深入理解‘演员-评论家’如何解决连续动作难题
  • JVM对象创建与内存分配机制深度解析
  • CANoe高手进阶:如何像搭积木一样管理你的工程文件?.vxp、.tse、.cdd等核心文件实战解析
  • 告别103Ω高阻抗!手把手教你用Smith圆图优化不等分Wilkinson功分器设计
  • 汽车ECU诊断会话控制:10服务(0x10)从入门到实战,手把手教你玩转UDS诊断
  • 暗黑破坏神2存档编辑器:三步可视化修改你的游戏角色
  • 如何用Arduino打造低成本多功能硬件工具:Flopper Ziro完整指南
  • HarmonyOS6 Flex 垂直布局实战:个人中心分组菜单从零搭建
  • 深入Transformer内部:手把手拆解Adapter模块结构,看它如何用‘小参数’撬动‘大模型’
  • 从汽车刹车到智能门锁:EEPROM磨损均衡算法实战,让你的产品寿命翻倍
  • 降阶拉格朗日神经网络在机器人控制中的应用
  • Failed building wheel for pygraphviz
  • AMD Ryzen处理器性能优化终极指南:SMUDebugTool完整教程
  • 面向 Spring Boot 的可观测业务流程编排引擎
  • OCP规范里的Write Zeroes命令详解:快速释放SSD空间与优化FTL的秘诀
  • 智能容量预测与成本优化:AIOps 的资源治理闭环
  • RoPE位置编码与Top-P块选择优化实践
  • MatAnyone:AI视频抠像革命,让普通人也能实现专业级人物分离
  • Harness 教程 01:平台介绍与环境搭建(国内网络环境落地版)