惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
博客园 - 【当耐特】
WordPress大学
WordPress大学
爱范儿
爱范儿
美团技术团队
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
量子位
Hugging Face - Blog
Hugging Face - Blog
B
Blog RSS Feed
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
博客园 - 叶小钗
GbyAI
GbyAI
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Full Disclosure
G
Google Developers Blog
D
Docker
T
Tailwind CSS Blog
C
Check Point Blog
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
B
Blog
博客园 - 三生石上(FineUI控件)
博客园 - Franky
H
Help Net Security
MyScale Blog
MyScale Blog
U
Unit 42
D
DataBreaches.Net
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
L
LangChain Blog
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26 The Rust Team All Hands in Berlin: a Recap Increasing Rust’s Reach 2018 Announcing Rust 1.25 Rust's 2018 roadmap Announcing Rust 1.24.1 Announcing Rust 1.24 The 2018 Rust Event Lineup Announcing Rust 1.23 New Year's Rust: A Call for Community Blogposts Rust in 2017: what we achieved Announcing Rust 1.22 (and 1.22.1) Fearless Concurrency in Firefox Quantum Announcing Rust 1.21 impl Future for Rust Rust 2017 Survey Results Announcing Rust 1.20 Announcing Rust 1.19 The 2017 Rust Conference Lineup Rust's 2017 roadmap, six months in Increasing Rust’s Reach Announcing Rust 1.18 Two years of Rust The Rust Libz Blitz Launching the 2017 State of Rust Survey Announcing Rust 1.17 Announcing Rust 1.16 Rust's language ergonomics initiative Announcing Rust 1.15.1 Rust's 2017 roadmap Announcing Rust 1.15 Announcing Rust 1.14 Announcing the First Underhanded Rust Contest Announcing Rust 1.13 Announcing Rust 1.12.1 Announcing Rust 1.12 Incremental Compilation Announcing Rust 1.11 Shape of errors to come The 2016 Rust Conference Lineup Announcing Rust 1.10 State of Rust Survey 2016 Announcing Rust 1.9 One year of Rust Taking Rust everywhere with rustup Launching the 2016 State of Rust Survey Cargo: predictable dependency management Introducing MIR Announcing Rust 1.8 Announcing Rust 1.7 Announcing Rust 1.6 Announcing Rust 1.5 Announcing Rust 1.4 Announcing Rust 1.3 Rust in 2016 Announcing Rust 1.2 Rust 1.1 stable, the Community Subteam, and RustCamp Announcing Rust 1.0 Abstraction without overhead: traits in Rust Rust Once, Run Everywhere Mixing matching, mutation, and moves in Rust Fearless Concurrency with Rust Announcing Rust 1.0 Beta Announcing Rust 1.0.0.alpha.2 Rust 1.0: status report and final timeline Announcing Rust 1.0 Alpha Rust 1.0: Scheduling the trains Yehuda Katz and Steve Klabnik are joining the Rust Core Team Cargo: Rust's community crate host Stability as a Deliverable Road to Rust 1.0
Project goals for 2025H2
Niko Matsakis on behalf of the Goals team · 2025-10-28 · via Rust Blog

On Sep 9, we merged RFC 3849, declaring our goals for the "second half" of 2025H2 -- well, the last 3 months, at least, since "yours truly" ran a bit behind getting the goals program organized.

Flagship themes

In prior goals programs, we had a few major flagship goals, but since many of these goals were multi-year programs, it was hard to see what progress had been made. This time we decided to organize things a bit differently. We established four flagship themes, each of which covers a number of more specific goals. These themes cover the goals we expect to be the most impactful and constitute our major focus as a Project for the remainder of the year. The four themes identified in the RFC are as follows:

  • Beyond the &, making it possible to create user-defined smart pointers that are as ergonomic as Rust's built-in references &.
  • Unblocking dormant traits, extending the core capabilities of Rust's trait system to unblock long-desired features for language interop, lending iteration, and more.
  • Flexible, fast(er) compilation, making it faster to build Rust programs and improving support for specialized build scenarios like embedded usage and sanitizers.
  • Higher-level Rust, making higher-level usage patterns in Rust easier.

"Beyond the &"

GoalPoint of contactTeam(s) and Champion(s)
Reborrow traitsAapo Alasuutaricompiler (Oliver Scherer), lang (Tyler Mandry)
Design a language feature to solve Field ProjectionsBenno Lossinlang (Tyler Mandry)
Continue Experimentation with Pin ErgonomicsFrank Kingcompiler (Oliver Scherer), lang (TC)

One of Rust's core value propositions is that it's a "library-based language"—libraries can build abstractions that feel built-in to the language even when they're not. Smart pointer types like Rc and Arc are prime examples, implemented purely in the standard library yet feeling like native language features. However, Rust's built-in reference types (&T and &mut T) have special capabilities that user-defined smart pointers cannot replicate. This creates a "second-class citizen" problem where custom pointer types can't provide the same ergonomic experience as built-in references.

The "Beyond the &" initiative aims to share the special capabilities of &, allowing library authors to create smart pointers that are truly indistinguishable from built-in references in terms of syntax and ergonomics. This will enable more ergonomic smart pointers for use in cross-language interop (e.g., references to objects in other languages like C++ or Python) and for low-level projects like Rust for Linux that use smart pointers to express particular data structures.

"Unblocking dormant traits"

GoalPoint of contactTeam(s) and Champion(s)
Evolving trait hierarchiesTaylor Cramercompiler, lang (Taylor Cramer), libs-api, types (Oliver Scherer)
In-place initializationAlice Ryhllang (Taylor Cramer)
Next-generation trait solverlcnrtypes (lcnr)
Stabilizable Polonius support on nightlyRémy Rakictypes (Jack Huey)
SVE and SME on AArch64David Woodcompiler (David Wood), lang (Niko Matsakis), libs (Amanieu d'Antras), types

Rust's trait system is one of its most powerful features, but it has a number of longstanding limitations that are preventing us from adopting new patterns. The goals in this category unblock a number of new capabilities:

  • Polonius will enable new borrowing patterns, and in particular unblock "lending iterators". Over the last few goal periods, we have identified an "alpha" version of Polonius that addresses the most important cases while being relatively simple and optimizable. Our goal for 2025H2 is to implement this algorithm in a form that is ready for stabilization in 2026.
  • The next-generation trait solver is a refactored trait solver that unblocks better support for numerous language features (implied bounds, negative impls, the list goes on) in addition to closing a number of existing bugs and sources of unsoundness. Over the last few goal periods, the trait solver went from being an early prototype to being in production use for coherence checking. The goal for 2025H2 is to prepare it for stabilization.
  • The work on evolving trait hierarchies will make it possible to refactor some parts of an existing trait into a new supertrait so they can be used on their own. This unblocks a number of features where the existing trait is insufficiently general, in particular stabilizing support for custom receiver types, a prior Project goal that wound up blocked on this refactoring. This will also make it safer to provide stable traits in the standard library while preserving the ability to evolve them in the future.
  • The work to expand Rust's Sized hierarchy will permit us to express types that are neither Sized nor ?Sized, such as extern types (which have no size) or Arm's Scalable Vector Extension (which have a size that is known at runtime but not at compilation time). This goal builds on RFC #3729 and RFC #3838, authored in previous Project goal periods.
  • In-place initialization allows creating structs and values that are tied to a particular place in memory. While useful directly for projects doing advanced C interop, it also unblocks expanding dyn Trait to support async fn and -> impl Trait methods, as compiling such methods requires the ability for the callee to return a future whose size is not known to the caller.

"Flexible, fast(er) compilation"

GoalPoint of contactTeam(s) and Champion(s)
build-stdDavid Woodcargo (Eric Huss), compiler (David Wood), libs (Amanieu d'Antras)
Promoting Parallel Front EndSparrow Licompiler
Production-ready cranelift backendFolkert de Vriescompiler, wg-compiler-performance

The "Flexible, fast(er) compilation" initiative focuses on improving Rust's build system to better serve both specialized use cases and everyday development workflows:

"Higher-level Rust"

GoalPoint of contactTeam(s) and Champion(s)
Stabilize cargo-scriptEd Pagecargo (Ed Page), compiler, lang (Josh Triplett), lang-docs (Josh Triplett)
Ergonomic ref-counting: RFC decision and previewNiko Matsakiscompiler (Santiago Pastorino), lang (Niko Matsakis)

People generally start using Rust for foundational use cases, where the requirements for performance or reliability make it an obvious choice. But once they get used to it, they often find themselves turning to Rust even for higher-level use cases, like scripting, web services, or even GUI applications. Rust is often "surprisingly tolerable" for these high-level use cases -- except for some specific pain points that, while they impact everyone using Rust, hit these use cases particularly hard. We plan two flagship goals this period in this area:

  • We aim to stabilize cargo script, a feature that allows single-file Rust programs that embed their dependencies, making it much easier to write small utilities, share code examples, and create reproducible bug reports without the overhead of full Cargo projects.
  • We aim to finalize the design of ergonomic ref-counting and to finalize the experimental impl feature so it is ready for beta testing. Ergonomic ref-counting makes it less cumbersome to work with ref-counted types like Rc and Arc, particularly in closures.

What to expect next

For the remainder of 2025 you can expect monthly blog posts covering the major progress on the Project goals.

Looking at the broader picture, we have now done three iterations of the goals program, and we want to judge how it should be run going forward. To start, Nandini Sharma from CMU has been conducting interviews with various Project members to help us see what's working with the goals program and what could be improved. We expect to spend some time discussing what we should do and to be launching the next iteration of the goals program next year. Whatever form that winds up taking, Tomas Sedovic, the Rust program manager hired by the Leadership Council, will join me in running the program.

Appendix: Full list of Project goals.

Read the full slate of Rust Project goals.

The full slate of Project goals is as follows. These goals all have identified points of contact who will drive the work forward as well as a viable work plan.

Invited goals. Some of the goals below are "invited goals", meaning that for that goal to happen we need someone to step up and serve as a point of contact. To find the invited goals, look for the "Help wanted" badge in the table below. Invited goals have reserved capacity for teams and a mentor, so if you are someone looking to help Rust progress, they are a great way to get involved.

GoalPoint of contactTeam(s) and Champion(s)
Develop the capabilities to keep the FLS up to datePete LeVasseurbootstrap (Jakub Beránek), lang (Niko Matsakis), opsem, spec (Pete LeVasseur), types
Getting Rust for Linux into stable Rust: compiler featuresTomas Sedoviccompiler (Wesley Wiser)
Getting Rust for Linux into stable Rust: language featuresTomas Sedoviclang (Josh Triplett), lang-docs (TC)
Borrow checking in a-mir-formalityNiko Matsakistypes (Niko Matsakis)
Reborrow traitsAapo Alasuutaricompiler (Oliver Scherer), lang (Tyler Mandry)
build-stdDavid Woodcargo (Eric Huss), compiler (David Wood), libs (Amanieu d'Antras)
Prototype Cargo build analysisWeihang Locargo (Weihang Lo)
Rework Cargo Build Dir LayoutRoss Sullivancargo (Weihang Lo)
Prototype a new set of Cargo "plumbing" commandsHelp Wantedcargo
Stabilize cargo-scriptEd Pagecargo (Ed Page), compiler, lang (Josh Triplett), lang-docs (Josh Triplett)
Continue resolving cargo-semver-checks blockers for merging into cargoPredrag Gruevskicargo (Ed Page), rustdoc (Alona Enraght-Moony)
Emit Retags in CodegenIan McCormackcompiler (Ralf Jung), opsem (Ralf Jung)
Comprehensive niche checks for RustBastian Kerstingcompiler (Ben Kimock), opsem (Ben Kimock)
Const GenericsBoxylang (Niko Matsakis)
Ergonomic ref-counting: RFC decision and previewNiko Matsakiscompiler (Santiago Pastorino), lang (Niko Matsakis)
Evolving trait hierarchiesTaylor Cramercompiler, lang (Taylor Cramer), libs-api, types (Oliver Scherer)
Design a language feature to solve Field ProjectionsBenno Lossinlang (Tyler Mandry)
Finish the std::offload moduleManuel Drehwaldcompiler (Manuel Drehwald), lang (TC)
Run more tests for GCC backend in the Rust's CIGuillaume Gomezcompiler (Wesley Wiser), infra (Marco Ieni)
In-place initializationAlice Ryhllang (Taylor Cramer)
C++/Rust Interop Problem Space MappingJon Baumancompiler (Oliver Scherer), lang (Tyler Mandry), libs (David Tolnay), opsem
Finish the libtest json output experimentEd Pagecargo (Ed Page), libs-api, testing-devex
MIR move eliminationAmanieu d'Antrascompiler, lang (Amanieu d'Antras), opsem, wg-mir-opt
Next-generation trait solverlcnrtypes (lcnr)
Implement Open API Namespace SupportHelp Wantedcargo (Ed Page), compiler (b-naber), crates-io (Carol Nichols)
Promoting Parallel Front EndSparrow Licompiler
Continue Experimentation with Pin ErgonomicsFrank Kingcompiler (Oliver Scherer), lang (TC)
Stabilizable Polonius support on nightlyRémy Rakictypes (Jack Huey)
Production-ready cranelift backendFolkert de Vriescompiler, wg-compiler-performance
Stabilize public/private dependenciesHelp Wantedcargo (Ed Page), compiler
Expand the Rust Reference to specify more aspects of the Rust languageJosh Triplettlang-docs (Josh Triplett), spec (Josh Triplett)
reflection and comptimeOliver Scherercompiler (Oliver Scherer), lang (Scott McMurray), libs (Josh Triplett)
Relink don't RebuildJane Lusbycargo, compiler
Rust Vision DocumentNiko Matsakisleadership-council
rustc-perf improvementsJamescompiler, infra
Stabilize rustdoc doc_cfg featureGuillaume Gomezrustdoc (Guillaume Gomez)
Add a team charter for rustdoc teamGuillaume Gomezrustdoc (Guillaume Gomez)
SVE and SME on AArch64David Woodcompiler (David Wood), lang (Niko Matsakis), libs (Amanieu d'Antras), types
Rust Stabilization of MemorySanitizer and ThreadSanitizer SupportJakob Koschelbootstrap, compiler, infra, project-exploit-mitigations
Type System DocumentationBoxytypes (Boxy)
Unsafe FieldsJack Wrenncompiler (Jack Wrenn), lang (Scott McMurray)