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
Official
Foundation
Newsletters
Project/Tooling Updates
- Wasmi 1.0 — WebAssembly Interpreter Stable At Last
- hyper-util Composable Pools
- Fall Updates: Standard Library Support with vexide 0.8.0!
- 3DCF/doc2dataset v0.1.0 – Rust document-to-dataset pipeline for RAG & LLM fine-tuning
- PGM-Extra: High-performance learned index structures for Rust
Observations/Thoughts
- In defense of lock poisoning in Rust
- How CRDTs and Rust are revolutionizing distributed systems and real-time applications
- KCL part 1: units
- New rust lint: function_casts_as_integer
- [audio] Netstack.FM episode 16 — WebRTC and Sans IO with Martin Algesten
- [audio] Canonical with Jon Seager - Rust in Production Podcast
Rust Walkthroughs
- The Impatient Programmer's Guide to Bevy and Rust: Chapter 3 - Let The Data Flow
- Cross-Compiling Rust for Raspberry Pi and making CI
- Rootless pings in Rust
- Mutation testing for librsvg
- [video] impl Rust: One Billion Row Challenge
Miscellaneous
- The Rust Africa Hackathon 2026
- Ferrous Systems Achieves IEC 61508 (SIL 2) Certification for Rust Core Library Subset
Crate of the Week
This week's crate is corosensei, a crate that allows you to write stackful coroutines on stable Rust.
Thanks to Christiaan for the 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.
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.
- Rustikon 2026 | CFP closes 2025-11-24 | Warsaw, Poland | 2025-03-19 - 2025-03-20 | Event Website
- TokioConf 2026 | CFP closes 2025-12-08 | Portland, Oregon, USA | 2026-04-20
- RustWeek 2026 | CFP closes 2025-12-31 | Utrecht, The Netherlands | 2026-05-19 - 2026-05-20
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
509 pull requests were merged in the last week
Compiler
- add
Box::clone_from_refand similar underfeature(clone_from_ref) - add
Command::get_env_clear - add a diagnostic attribute for special casing const bound errors for non-const impls
- collapse
constnessquerymatchlogic
Library
- add
impl TrustedLenonBTree{Map,Set}iterators - constify
from_fn, try_from_fn, try_map,map - implement
Iterator::{exactly_one, collect_array} - implement
clamp_magnitudemethod for primitive floats & signed integers - in
BTreeMap::eq, do not compare the elements if the sizes are different - num: implement
uint_gather_scatter_bitsfeature for unsigned integers - offload intrinsic
- optimize
slice::Iter::next_chunk - stabilize
asm_cfg - stabilize
maybe_uninit_slice - stabilize
maybe_uninit_write_slice - stabilize
unchecked_negandunchecked_shifts
Cargo
clean: Clean hosts builds with new layoutcompletion: Put host-tuple before actual tuplescompletions: includeallincargo tree --targetcandidatesconfig-include: remove support of single string shorthandlints: show lint error numberclean: add --workspace support- do not lock the artifact-dir for check builds + fix uplifting
- properly validate crate names in
cargo install
Rustdoc
- fix bad intra-doc-link preprocessing
- fix invalid link generation for type alias methods
- fix rustdoc search says “Consider searching for "null" instead.” #149324
Clippy
manual_ilog2: new lintequatable_if_let: don't lint if pattern or initializer come from expansion- add
ptr_offset_by_literallint - clippy lints page improvements and cleanups
- fix
implicit_hasherwrongly unmangled macros - fix
large_stack_framesfalse positive on compiler generated targets - fix display of dropdown menu "buttons"
- fix:
zero_repeat_side_effectsmisses curlies - new lint:
decimal_bitwise_operands - stop inserting redundant parenthesis around desugared match expressions
Rust-Analyzer
- add multiple generate for
enumgenerate is, as,try_into - build releases with static CRT for
-windows-msvctargets - completions: fix completions disregarding snippet capabilities
- feature: set
enclosing_rangefield on SCIP output - fix Display scope inlay hints after closing brace for more types of blocks #18833
- fix
syntax_editorduplicated changed element - fix complete after
extern, addcratecompletion - fix not complete after inner-attr in source-file
- fix not complete type alias in pattern
- fix skipiter not applicable in autoderef
- do not try to connect via postcard to proc-macro-srv
- don't run cache priming when disabled in settings
- fix proc-macro-srv passing invalid extra none group to proc-macros
- fix proc-macro-srv protocol read implementation
- pass the correct per-token (not global) edition when expanding
macro_rules - rewrite dyn trait lowering to follow rustc
- support multiple
enablein#[target_feature] - use per-token, not global, edition in the parser
- use root hygiene for speculative resolution
- perf: use one query per crate for lang items, not one per lang item
- proc-macro-srv: fix
<TokenStream as Display>::fmtimpl producing trailing whitespace - proc-macro-srv: fix
<TokenStream as Display>::fmtimpl rendering puncts as u8 - proc-macro-srv: fix unnecessary subtree wrapping in protocol
- re-introduce attribute rewrite
Rust Compiler Performance Triage
A fairly quiet week overall, despite a slightly higher than usual amount of merged PRs.
Triage done by @simulacrum. Revision range: b64df9d1..eca9d93f
3 Regressions, 1 Improvement, 4 Mixed; 3 of them in rollups 43 artifact comparisons made in total
See the [full report](https://github.com/rust-lang/rustc-perf/blob/master/triage/2025/2025-12-02.md] for details.
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 entered Final Comment Period 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
- don't normalize where-clauses when checking well-formedness
- Stabilize
const_mul_add - Do not propogate unnecessary closure constraints.
- Not linting
irrefutable_let_patternson let chains - Make closure capturing have consistent and correct behaviour around patterns
Compiler Team (MCPs only)
* Use annotate-snippets as the default emitter
* Promote powerpc64-unknown-linux-musl to tier 2 with host tools
* Proposal for a dedicated test suite for the parallel frontend
* Promote tier 3 riscv32 ESP-IDF targets to tier 2
* Proposal for Adapt Stack Protector for Rust
* 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
Rust RFCs * Adding a crates.io Security tab
Cargo
* feat: stabilize -Zconfig-include
No Items entered Final Comment Period this week for Language Team, Language Reference, Leadership Council 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-12-03 - 2025-12-31 🦀
Virtual
- 2025-12-03 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
- 2025-12-03 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-12-04 | Virtual (Berlin, DE) | Rust Berlin
- 2025-12-05 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2025-12-06 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-12-07 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2025-12-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-12-10 | Virtual (Girona, ES) | Rust Girona
- 2025-12-11 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2025-12-11 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2025-12-16 | Virtual (Washington, DC, US) | Rust DC
- 2025-12-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-12-17 | Virtual (Girona, ES) | Rust Girona
- 2025-12-18 | Virtual (Berlin, DE) | Rust Berlin
- 2025-12-23 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-12-25 | Virtual (Nürnberg, DE) | Rust Nuremberg
Asia
- 2025-12-08 | Tokyo, JP | Rust Global: Tokyo
- 2025-12-20 | Bangalore, IN | Rust Bangalore
Europe
- 2025-12-03 | Girona, ES | Rust Girona
- 2025-12-03 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 2025-12-04 | Vienna, AT | Rust Vienna
- 2025-12-06 | Stockholm, SE | Stockholm Rust
- 2025-12-08 | Dortmund, DE | Rust Dortmund
- 2025-12-08 | Paris, FR | Rust Paris
- 2025-12-10 | London, UK | Rust London User Group
- 2025-12-10 | München, DE | Rust Munich
- 2025-12-10 | Reading, UK | Reading Rust Workshop
- 2025-12-15 | Trondheim, NO | Rust Trondheim
- 2025-12-16 | Bergen, NO | Rust Bergen
- 2025-12-16 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2025-12-19 | Lyon, FR | Rust Lyon
North America
- 2025-12-04 | México City, MX | Rust MX
- 2025-12-04 | Saint Louis, MO, US | STL Rust
- 2025-12-05 | New York, NY, US | Rust NYC
- 2025-12-06 | Boston, MA, US | Boston Rust Meetup
- 2025-12-10 | Chicago, IL, US | Chicago Rust Meetup
- 2025-12-11 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2025-12-11 | Lehi, UT, US | Utah Rust
- 2025-12-11 | Mountain View, CA, US | Hacker Dojo
- 2025-12-11 | San Diego, CA, US | San Diego Rust
- 2025-12-13 | Boston, MA, US | Boston Rust Meetup
- 2025-12-16 | San Francisco, CA, US | San Francisco Rust Study Group
- 2025-12-17 | Austin, TX, US | Rust ATX
- 2025-12-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-12-17 | Spokane, WA, US | Spokane Rust
- 2025-12-20 | Boston, MA, US | Boston Rust Meetup
Oceania
- 2025-12-11 | Brisbane City, QL, AU | Rust Brisbane
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
[...] just returning an error is not error handling, it is just user space unwinding.
Thanks to Aleksander Krauze for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by:
- nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- mariannegoldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilist
Email list hosting is sponsored by The Rust Foundation