This Week in Rust 633
⚓ Rust 📅 2026-01-07 👤 surdeus 👁️ 2Hello 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
Newsletters
Project/Tooling Updates
- Danube Messaging v0.6 - Introduces Schema Registry
- Releasing Fjall 3.0: log-structured key-value storage engine
Observations/Thoughts
- 1160 PRs to improve Rust in 2025
- [series] Who Owns the Memory? Part 3: How Big Is your Type?
- Even Safer Rust with Miri
- [uv] OnceMap: Rust Pattern for Running Concurrent Work Exactly Once
- Rust At Scale: Scaleway's Big Bet To Become THE European Hyperscaler
Rust Walkthroughs
- Introduction to SIMD programming in pure Rust
- Stop Forwarding Errors, Start Designing Them
- Designing APIs for the Pit of Success
- Rusty CDK, an Infrastructure as Code Experiment
- Ergonomic Async trait objects in Rust
- [video] Unlocking Cargo. Towards conncurrent cargo builds and cross workspace caching
- [audio] Netstack.FM episode 21 — GraphQL and Rust with Tom Houlé
- That mockingbird won't sing: a mock API server in Rust
- [ES] GoF Design Patterns in Rust: Necessary or Optional?
- [video] Tock, an embedded OS in Rust, overview and demo (3 videos in playlist)
Research
Crate of the Week
This week's crate is kameo, an asynchronous actor framework with clear, trait-based abstractions for actors and typed messages.
Thanks to edgimar 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, Rustup or Rust language RFCs.
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.
- RustWeek 2026 | CFP closes 2026-01-18 | Utrecht, The Netherlands | 2026-05-19 - 2026-05-20
- RustConf 2026 | CFP closes 2026-02-16 | Montreal, Quebec, Canada | 2026-09-08 - 2026-09-10
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
341 pull requests were merged in the last week
Compiler
Library
oneshotChannel- add
VecDeque::splice - add specialization for
deque1.prepend(deque2.drain(range)) (VecDeque::prependandextend_front) - avoid index check in
char::to_lowercaseandchar::to_uppercase - make specialization of
Vec::extendandVecDeque::extend_frontwork forvec::IntoIterwith anyAllocator, not justGlobal - implement
TryFrom<char>forusize - improve alloc
Vec::retain_mutperformance
Cargo
feat(report): add cargo report rebuildsfeat(test-support): Use test name for dir when running testsfix(log): adddependenciesfield toUnitRegistered- any build scripts can now use
cargo::metadata=KEY=VALUE - implement fine grain locking for
build-dir - refactor: migrate some cases to expect/reason
Clippy
manual_div_ceil: Added check for variantx.next_multiple_of(y) / ytransmuting_null: Check single expression const blocks and blocks- do not make suggestion machine-applicable if it may change semantics
- fix
bool_assert_comparisonsuggests wrongly for macros - fix
implicit_saturating_subsuggests wrongly on untyped int literal - fix
multiple_inherent_implfalse negatives for generic impl blocks - fix
needless_for_eachfalse negative whenfor_eachis in the expr of a block - fix
new_without_defaultmisses where clause innew - fix
redundant_pattern_matchingmisses)in suggestion span - fix
cmp_ownedwrongly unmangled macros - move
multiple_bound_locationsto style
Rust-Analyzer
- add useless prefix
try_into_forsuggest_name - allow finding references from doc comments
- add
#[rust_analyzer::macro_style()]attribute to control macro completion brace style - add location links for generic parameter type hints
- fix incorrect dyn hint in
impl Trait for - fix source text
- don't fire
non_camel_case_typeslint for structs/enums marked withrepr(C) - have an
upvars_mentioned()query that only computes what upvars a closure captures - suppress false positive missing assoc item diag on specialization
- implement
Span::line()andSpan::column()for proc-macro server - migrate
move_arm_cond_to_match_guardassist to useSyntaxEditor - compress token trees for best memory usage
- only compute lang items for
#![feature(lang_items)]crates - re-use scratch allocations for
try_evaluate_obligations - pre-allocate intern storages with 64kb of data / 1024 elements
- proc-macro-srv: support file and
local_filevia bidirectional callbacks
Rust Compiler Performance Triage
Not many PRs were merged, as it was still mostly a holiday week. #149681 caused small regressions across the board, this is pending investigation.
Triage done by @kobzol. Revision range: 112a2742..7c04f5d2
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.5% | [0.1%, 1.4%] | 146 |
| Regressions ❌ (secondary) |
0.6% | [0.0%, 3.5%] | 91 |
| Improvements ✅ (primary) |
-3.1% | [-4.7%, -1.5%] | 2 |
| Improvements ✅ (secondary) |
-0.7% | [-6.4%, -0.1%] | 15 |
| All ❌✅ (primary) | 0.4% | [-4.7%, 1.4%] | 148 |
2 Regressions, 0 Improvements, 7 Mixed; 4 of them in rollups 51 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: * build-std: context
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
- refactor: remove Ord bound from BinaryHeap::new etc
- regression: "the parameter type
Tmay not live long enough" inoffset_of! - Tracking Issue for
peekable_next_if_map
Compiler Team (MCPs only)
No Items entered Final Comment Period this week for Cargo, Rust RFCs, Leadership Council, 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 2026-01-07 - 2026-02-04 🦀
Virtual
- 2026-01-07 | Virtual (Girona, ES) | Rust Girona
- 2026-01-07 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-01-08 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2026-01-08 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-01-13 | Virtual | libp2p Events
- 2026-01-13 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-01-13 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-01-15 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-01-15 | Virtual (Berlin, DE) | Rust Berlin
- 2026-01-18 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-01-20 | Virtual (Washington, DC, US) | Rust DC
- 2026-01-21 | Virtual (Girona, ES) | Rust Girona
- 2026-01-21 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2026-01-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-01-28 | Virtual (Girona, ES) | Rust Girona
- 2026-01-29 | Virtual (Amsterdam, NL) | Bevy Game Development
- 2026-01-29 | Virtual (Berlin, DE) | Rust Berlin
- 2026-01-29 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2026-02-04 | Virtual (Indianapolis, IN, US) | Indy Rust
Asia
- 2026-01-07 | Tel Aviv-yafo, IL | Rust 🦀 TLV
- 2026-01-08 | Seoul, KR | Seoul Rust (Programming Language) Meetup
- 2026-01-17 | Delhi, IN | Rust Delhi
Europe
- 2026-01-07 | Amsterdam, NL | Rust Developers Amsterdam Group
- 2026-01-08 | Geneva, CH | Post Tenebras Lab
- 2026-01-14 | Girona, ES | Rust Girona
- 2026-01-14 | Reading, UK | Reading Rust Workshop
- 2026-01-16 | Edinburgh, UK | Rust and Friends
- 2026-01-20 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2026-01-20 | Paris, FR | Rust Paris
- 2026-01-21 | Cambridge, UK | Cambridge Rust Meetup
- 2026-01-26 | Augsburg, DE | Rust Meetup Augsburg
- 2026-01-28 | Dortmund, DE | Rust Dortmund
- 2026-02-04 | Oxford, UK | Oxford ACCU/Rust Meetup.
North America
- 2026-01-08 | Lehi, UT, US | Utah Rust
- 2026-01-08 | Mountain View, CA, US | Hacker Dojo
- 2026-01-08 | Portland, OR, US | PDXRust
- 2026-01-08 | San Diego, CA, US | San Diego Rust
- 2026-01-10 | Boston, MA, US | Boston Rust Meetup
- 2026-01-13 | New York, NY, US | Rust NYC
- 2026-01-14 | Chicago, IL, US | Chicago Rust Meetup
- 2026-01-15 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-01-17 | Boston, MA, US | Boston Rust Meetup
- 2026-01-17 | Herndon, VA, US | NoVaLUG
- 2026-01-20 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-01-21 | Austin, TX, US | Rust ATX
- 2026-01-22 | Boston, MA, US | Boston Rust Meetup
- 2026-01-22 | Mountain View, CA, US | Hacker Dojo
- 2026-01-24 | Boston, MA, US | Boston Rust Meetup
- 2026-01-28 | Los Angeles, CA, US | Rust Los Angeles
- 2026-01-29 | Atlanta, GA, US | Rust Atlanta
- 2026-01-29 | Nashville, TN, US | Music City Rust Developers
- 2026-01-31 | Boston, MA, US | Boston Rust Meetup
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
I find it amazing that by using Rust and Miri I am using tools that are on the edge of fundamental research in Programming Languages. Actual practically usable tools that anyone can use, not arcane code experiments passed around between academics.
Thanks to Kyllingene 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
🏷️ Rust_feed