Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @thisweekinrust.bsky.social on Bluesky or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
Updates from Rust Community
Newsletters
Project/Tooling Updates
- Introducing Apache Fory™
- SeaORM 2.0: Entity First Workflow
- Rari v0.3.0: Rust-based React framework with SSR - 12x faster, 10x higher throughput than Next.js
- Burn 0.19.0 Release: Quantization, Distributed Training, and LLVM Backend
- Yelken's Last Alpha Release and Intro to Yelken Cloud
- Capnproto 0.22 — async methods
- Fyrox 1.0.0-rc.1
- Boa release v0.21
- Typst: Typst 0.14: Now accessible
- iroh-blobs 0.95
- This week in Heave (2025.10.24)
Observations/Thoughts
- Explicit capture clauses
- Closure captures
- Recent Rust Changes
- How Signal uses Rust to secure the communications of millions of people
- A hard rain's a-gonna fall: decoding JSON in Rust
- GSoC ‘25 Work Product: Parallel Macro Expansion
- When O3 is 2x slower than O2
- The (rust) Clippy Changelog Cat Contest, a brief retrospective
- [audio] Netstack.FM — Episode 11 – Modern networking in Firefox with Max Inden
- [audio] What's New in Rust 1.81 through 1.84
Rust Walkthroughs
- Data Analysis in Rust
- How to Avoid Fighting Rust Borrow Checker
- Rust Unit Testing: Mocks and flexible verification
- Building a Coding Agent in Rust: Introduction
- Teddy Bear Trash Compactor
- Rust for JavaScript Engineers - Connect-4 Interactivity
- Cleanup your lifetime annotations in Rust with Rc and Arc
- Vibe Validation with Lean, ChatGPT-5, & Claude 4.5: Nine Rules for Proving (Rust) Algorithms Correct Without Knowing Formal Methods (Part 2)
- [video] Rust Axum 0.8 Backend Engineering | Hello World
- [video] Building Coding Agent in Rust | Project Setup
Research
Crate of the Week
This week's crate is tower-resilience, a library offering resilience features for tower.
Thanks to Josh Rotenberg for the self-suggestion!
Please submit your suggestions and votes for next week!
Calls for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization.
If you are a feature implementer and would like your RFC to appear in this list, add a
call-for-testing label to your RFC along with a comment providing testing instructions and/or
guidance on which aspect(s) of the feature need testing.
- No calls for testing were issued this week by Rust, Cargo, Rust language RFCs or Rustup.
Let us know if you would like your feature to be tracked as a part of this list.
RFCs
Rust
Rustup
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
need testing.
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
If you are a Rust project owner and are looking for contributors, please submit tasks here or through a PR to TWiR or by reaching out on Bluesky or Mastodon!
CFP - Events
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
No Calls for papers or presentations were submitted this week.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on Bluesky or Mastodon!
Updates from the Rust Project
463 pull requests were merged in the last week
Compiler
-Znext-solverinstantiate predicate binder without recanonicalizing goalhir_analysis: add missing sizedness bounds- add NonNull pattern types
- add a fast path for lowering trivial consts (great speedup!)
- do not lifetime-extend array/slice indices
- deduce
captures(none)for a return place and parameters - privacy: introduce some caching to type visiting in
DefIdVisitorSkeleton
Library
- add
FromIteratorimpls forascii::Chars to Strings - add
String::replace_firstandString::replace_last - add new
inherit_handlesflag to CommandExt trait - const Cell methods
- const
select_unpredictable - create UTF-8 version of
OsStr/OsString
Cargo
Rustdoc
Clippy
manual_let_else: wrap expressions ending with'}'match_as_ref: suggestas_refwhen the reference needs to be castneedless_if: don't expand macro invocations in the suggestionmanual_option_as_slice: improve diagnosticsmatch_as_ref: improve diagnosticsunnecessary_{find,filter}_map: make diagnostic spans more precise{option,result}_map_unit_fn: fix and clean-up tests, make suggestions multiline- consider labels of inline asm as conditionally executed
- fix
len_zerofalse positive on unstable methods - lint precedence possible ambiguity between closure and method call
Rust-Analyzer
- add an Extension Config API
- avoid calling
specializes()query on crates that do not define#![feature(specialization)] - add "Flip range expression" assist
- add "Remove
elsebranches" assist - provide an option to not show derives near the ADT for "Goto Implementations" or "Implementations" codelens
- when renaming
selfto other name, change callers method method call syntax to assoc fn syntax - add
#[doc = include_str!("…")]completion - add shorthand record field completions
- add type keyword completions
- complete
elsein more expressions - complete
letbefore expression inif - consider all matches for flyimport even when searched with a qualifier
- fix array inhabitedness check
- fix casts and use typed syntax tree API in
convert_to_guarded_return - handle
if-letinconvert_to_guarded_return - handle shorthand field patterns in
destructure_tuple_binding - implement
Interner::impl_specializes() - improve field completion parentheses heuristic
- improve handling of missing names in
MethodCallExpr - improve handling of the
env!macro - improve incomplete statement heuristic
- lower async block/closures correctly
- offer
add_braceson assignments - offer
invert_ifonelse - place new module outside
implblock inextract_module - support
let-chains inreplace_is_method_with_if_let_method - reduce
client_commandsallocations in proto conversion - remove
hir-ty/src/next_solver/mapping.rs - semantic type for logical not
Rust Compiler Performance Triage
Mostly negative week, coming almost entirely from adding sizedness bounds in #142712. Other than that, we got a nice win for async code from state transform optimization in #147493 and quite a few smaller improvements from codegen optimization in #147890.
Triage done by @panstromek. Revision range: 4068bafe..23fced0f
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.7% | [0.2%, 3.7%] | 113 |
| Regressions ❌ (secondary) |
0.5% | [0.1%, 1.7%] | 75 |
| Improvements ✅ (primary) |
-0.4% | [-0.7%, -0.2%] | 3 |
| Improvements ✅ (secondary) |
-2.3% | [-20.8%, -0.1%] | 30 |
| All ❌✅ (primary) | 0.7% | [-0.7%, 3.7%] | 116 |
2 Regressions, 2 Improvements, 7 Mixed; 2 of them in rollups 42 artifact comparisons made in total
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
Tracking Issues & PRs
Rust
- FCW for repr(C) enums whose discriminant values do not fit into a c_int
- Tracking Issue for maybe_uninit_write_slice
- Add some conversion trait impls
- Tracking Issue for
Duration::from_nanos_u128 - Tracking Issue for
core_slice_as_array. - TryFrom\<integer> for bool
- Tracking Issue for slice::array_windows
- Tracking issue for
#![feature(maybe_uninit_slice)] - Tracking Issue for
lazy_get - add Iterator::contains
- Tracking Issue for inherent unchecked integer methods
- Stabilize s390x
vectortarget feature andis_s390x_feature_detected!macro - Update bundled musl to 1.2.5
Compiler Team (MCPs only)
* Use v0 mangling by default on nightly
* Use annotate-snippets as the default emitter on nightly
* Creating a new maintainable debuginfo test suite
* Switch to v0 mangling for symbols exceeding 64KB characters on targets generated PDB debug info
* Promote riscv64a23-unknown-linux-gnu to Tier 2 without host tools
* Omit suggestions when spans overlap
* Replace rustc_target::specTarget::arch string with enum
* Run main rust-analyzer tests in rust-lang/rust CI
* Turn emscripten-wasm-eh unwinding ABI on by default
* target tier 3 support for hexagon-unknown-qurt
* Proposal for a dedicated test suite for the parallel frontend
* Give integer literals a sign instead of relying on negation expressions
* Also enable ICE file dumps on stable
* New Tier-3 target proposal: loongarch64-linux-android
Leadership Council * Proposal: Require all project team members to have Zulip IDs
No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference or Unsafe Code Guidelines.
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
New and Updated RFCs
Upcoming Events
Rusty Events between 2025-10-29 - 2025-11-26 🦀
Virtual
- 2025-10-29 | Virtual (Boulder, CO, US) | Boulder Elixir
- 2025-10-29 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2025-10-29 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
- 2025-10-29 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
- 2025-11-01 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-11-02 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-11-04 | Virtual (Beijing, CN) | WebAssembly and Rust Meetup (Wasm Empowering AI)
- 2025-11-05 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
- 2025-11-05 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-11-05 | Virtual | Ardan Labs
- 2025-11-06 | Virtual (Berlin, DE) | Rust Berlin
- 2025-11-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-11-10 || BetterCode
- 2025-11-11 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-11-11 | Virtual (London, UK) | Women in Rust
- 2025-11-12 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
- 2025-11-13 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2025-11-16 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-11-18 | Virtual (Washington, DC, US) | Rust DC
- 2025-11-19 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
- 2025-11-19 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2025-11-20 | Virtual (Berlin, DE) | Rust Berlin
- 2025-11-20 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2025-11-23 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-11-25 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-11-25 | Virtual (London, UK) | Women in Rust
- 2025-11-26 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
Africa
- 2025-11-11 | Johannesburg, ZA | Johannesburg Rust Meetup
Asia
- 2025-11-15 | Bangalore, IN | Rust Bangalore
Europe
- 2025-10-29 | Dortmund, DE | Rust Dortmund
- 2025-10-29 | London, UK | Rust London User Group
- 2025-10-30 | Berlin, DE | Rust Berlin
- 2025-10-30 | Copenhagen, DK | Copenhagen Rust Community
- 2025-10-30 | Prague, CZ | Rust Prague
- 2025-11-01 | Stockholm, SE | Stockholm Rust
- 2025-11-02 - 2025-11-04 | Florence, IT | Rustlab 2025
- 2025-11-03 | Bern, CH | Guild42
- 2025-11-04 | Manchester, UK | Rust Manchester
- 2025-11-04 | Trondheim, NO | Rust Trondheim
- 2025-11-05 | Girona, ES | Rust Girona | Silicon Girona
- 2025-11-05 | Oslo, NO | Rust Oslo
- 2025-11-05 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 2025-11-06 | Gdansk, PL | Rust Gdansk
- 2025-11-06 | Vienna, AT | Rust Vienna
- 2025-11-11 | London, UK | Rust London User Group
- 2025-11-12 | Cambridge, UK | Cambridge Rust Meetup
- 2025-11-12 | Reading, UK | Reading Rust Workshop
- 2025-11-13 | Geneva, CH | Rust Geneva
- 2025-11-13 | Paris, FR | Rust Paris
- 2025-11-18 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2025-11-20 | Aarhus, DK | Rust Aarhus
- 2025-11-20 | Luzern, CH | [Rust Luzern]((https://www.meetup.com/rust-luzern/)
North America
- 2025-10-29 | New York, NY, US | Rust NYC
- 2025-10-30 | Atlanta, GA, US | Rust Atlanta
- 2025-10-30 | Mountain View, CA, US | Hacker Dojo
- 2025-11-01 | Boston, MA, US | Boston Rust Meetup
- 2025-11-06 | Saint Louis, MO, US | STL Rust
- 2025-11-08 | Boston, MA, US | Boston Rust Meetup
- 2025-11-13 | Lehi, UT, US | Utah Rust
- 2025-11-18 | San Francisco, CA, US | San Francisco Rust Study Group
- 2025-11-20 | Seattle, WA, US | Seattle Rust User Group
- 2025-11-26 | Austin, TX, US | Rust ATX
Oceania
- 2025-10-29 | Barton, AC, AU | Canberra Rust User Group
- 2025-11-11 | Christchurch, NZ | Christchurch Rust Meetup Group
South America
- 2025-10-30 | Florianopolis, BR | Rust Brasil
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
Petition to add an
unwisekeyword in Rust
Thanks to llogiq for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation