Feed: This Week in Rust
This Week in Rust 📃
This Week in Rust 633
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
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
This Week in Rust 632
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
Project/Tooling Updates
- reqwest v0.13 - rustls by default
- rama 0.3.0-alpha.4 is released — modular service framework to move and transform network packets
- Ratatui 0.30.0 is released! - a Rust library for cooking up terminal user interfaces
Observations/Thoughts
- Four Years of Rust: An Odyssey of Failures, Achievements, and Hard Lessons
- Simple Bidirectional Type Inference
- serde's borrowing can be treacherous
- Garbage collection in Rust got a little better
- [audio] Netstack.FM episode 20 — Netstack.FM New Year Special, 2025 Wrap-Up
Rust Walkthroughs
- Why is calling my asm function from Rust slower than calling it from C?
- Rust Errors Without Dependencies
- [video] Building your first APP using the new Hotaru Web Framework!
Miscellaneous
- [audio] 2025 Holiday Special - Rust in Production Podcast
- Investigating and fixing a nasty clone bug
Crate of the Week
This week's crate is wgsl-bindgen, a binding generator for WGSL, the WebGPU shading language, to be used with wgpu.
Thanks to Artem Borisovskiy 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.
Rustup
- Rustup 1.29.0 beta: Call for Testing!
-
Testing steps: See "How to Test" section from above link.
-
No calls for testing were issued this week by Rust, Cargo 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.
- Spindalis - Create an AST parser
- Spindalis - Add procedural macro for definite integral
- Spindalis - Add a function and macro that can expand polynomials
- Spindalis - Add display trait to functions in spindalis core
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
297 pull requests were merged in the last week
Compiler
- recursive delegation improvements
- miri: fix ICE for particular data race situations
- miri: show a warning when combing native-lib mode and many-seeds
- miri: tree Borrows: improve protector end access child skipping
Library
- add
MaybeDanglingtocore - alloc: specialize
String::extendfor slices of str - implement
Duration::div_duration_{floor,ceil} - implement flatten for
Option<&Option<T>>andOption<&mut Option<T>> - optimized implementation for
uN::{gather,scatter}_bits - rewrite
String::replace_range - stabilize
lazy_get
Cargo
index: Stabilize pubtimereport: new commandcargo report sessionsreport: support --manifest-path incargo report timingsresolver: List features when no close matchtoml: TOML 1.1 parse supportvendor: recursively filter git files in subdirectoriesvendor: unpack from local-registry cache pathbuild-rs: Reduce from 'build' to 'check' where possible- experiment: render timing pipeline in SVG
- patch: Display where the patch was defined in patch-related error messages
Rustdoc
- if line number setting is disabled, do not make line numbers take space
- fix copy code example with line numbers
- fix duplicate Re-exports sections
- fix incorrect type filter name in help popup
Clippy
- fix
assertions_on_constantsfalse positive when there is non-constant value in the condition expr - fix
double_parensfalse positive on macro repetition patterns - fix
obfuscated_if_elsewrongly unmangled macros - fix
result_large_errfalse negative on closures - preserve explicit lifetime information when removing
mut - various fixes for handling of macros
Rust-Analyzer
- add bidirectional messaging proc-macro-srv prototype
- add macro segment completion
- implement configuration to change sub command for test, bench and doctest
- provide a setting to disable showing rename conflicts
- stabilize type mismatch diagnostic 🎉
- indent for
convert_to_guarded_return - fix LSP configuration request handling
- fix parsing of
format_args!("...", keyword=...) - fix type inference when hovering on
_ - reenable fixpoint variance
- do not really expand builtin derives, instead treat them specifically
- pre-allocate some buffers in parsing
- reduce channel lock contention for drop-threads
- prompt the user in VSCode to add the rust-anaylzer componenet to the toolchain file
Rust Compiler Performance Triage
Not a lot of changes this week. Overall result is positive, largely thanks to #142881, which makes computing an expensive data structure for JumpThreading MIR optimization lazy.
Triage done by @panstromek. Revision range: e1212ea7..112a2742
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.5% | [0.1%, 1.7%] | 11 |
| Regressions ❌ (secondary) |
0.2% | [0.1%, 0.5%] | 6 |
| Improvements ✅ (primary) |
-0.5% | [-1.3%, -0.1%] | 74 |
| Improvements ✅ (secondary) |
-0.6% | [-1.8%, -0.2%] | 71 |
| All ❌✅ (primary) | -0.4% | [-1.3%, 1.7%] | 85 |
2 Regressions, 0 Improvements, 3 Mixed; 1 of them in rollups 37 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
Compiler Team (MCPs only)
- 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
No Items entered Final Comment Period this week for Cargo, Rust, 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
Tracking Issues & PRs
New and Updated RFCs
Upcoming Events
Rusty Events between 2025-12-31 - 2026-01-28 🦀
Virtual
- 2026-01-03 | Virtual (Kampala, UG) | Rust Circle Meetup
- 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 (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-01-13 | Virtual | libp2p Events
- 2026-01-13 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-01-14 | Virtual (Girona, ES) | Rust Girona
- 2026-01-15 | Virtual (Berlin, DE) | Rust Berlin
- 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
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-07 | Girona, ES | Rust Girona
- 2026-01-08 | Geneva, CH | Post Tenebras Lab
- 2026-01-14 | Reading, UK | Reading Rust Workshop
- 2026-01-20 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2026-01-20 | Paris, FR | Rust Paris
North America
- 2026-01-01 | Saint Louis, MO, US | STL Rust
- 2026-01-03 | Boston, MA, US | Boston Rust Meetup
- 2026-01-08 | Lehi, UT, US | Utah Rust
- 2026-01-08 | Mountain View, CA, US | Hacker Dojo
- 2026-01-10 | Boston, MA, US | Boston Rust Meetup
- 2026-01-13 | New York, NY, US | Rust NYC
- 2026-01-13 | Spokane, WA, US | Spokane Rust
- 2026-01-15 | 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-24 | Boston, MA, US | Boston Rust Meetup
- 2026-01-28 | Los Angeles, CA, US | Rust Los Angeles
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
what even is time?!?
Thanks to llogiq 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
This Week in Rust 631
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
- What do people love about Rust?
- Please submit 2026 Project goal proposals
- December 2025 Project Director Update
- Program management update — End of 2025
- Rustup 1.29.0 beta: Call for Testing!
Newsletters
Project/Tooling Updates
- What's "new" in Miri (and also, there's a Miri paper!)
- cargo-coupling: Visualizing Coupling in Rust Projects
- Announcing Asterinas 0.17.0
- Tuitar - A portable guitar training tool & DIY kit
- Gitoxide in December
- Announcing GotaTun, the future of WireGuard at Mullvad VPN
- wgpu v28.0.0 - Mesh Shaders, Immediates, and More!
- rustc_codegen_gcc: Progress Report #39
Observations/Thoughts
- Syntactic musings on the fallibility effect
- Rust’s Block Pattern
- [audio] Netstack.FM episode 19 — Firezone and Zero-Trust Network Security with Thomas Eizinger
Rust Walkthroughs
- Rust Unit Testing: Basic HTTP Server
- Async Rust Bluetooth Plumbing: Where the Throughput Goes
- [series] Part 2: Tensor Operations, Building an LLM from Scratch in Rust
Crate of the Week
This week's crate is arcshift, an Arc replacement for read-heavy workloads that supports lock-free atomic replacement.
Thanks to rustkins 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.
No Calls for participation were submitted this week.
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
475 pull requests were merged in the last week
Compiler
- add
target_feature = "gc"for Wasm - better closure requirement propagation
- correctly encode doc attribute metadata
- don't treat asserts as a call in cross-crate inlining
- improve filenames encoding and misc
- make closure capturing have consistent and correct behaviour around patterns
- support recursive delegation
Library
- add
try_as_dynandtry_as_dyn_mut - add const default for OnceCell and OnceLock
- expand
str_as_strto more types - make
const BorrowMutrequireconst Borrowand makeconst Fnrequireconst FnMut - hashbrown: add
hash_map::{OccupiedEntry::into_entry,VacantEntryRef::insert_entry_with_key}, makeEntryRefuseToOwnedagain - hashbrown: add
hash_table::OccupiedEntry::replace_entry_withto mirror HashMap API - hashbrown: add
hash_table::UnsafeIter,iter()method to various iterators
Rustdoc
- Add missing close tags in extern crate reexports
- Fix invalid handling of field followed by negated macro call
- generate macro expansion for rust compiler crates docs
- handle macro expansions in types
Clippy
transmuting_null: Check const integer casts- allow multiline suggestions in
map-unwrap-or - do not attempt to use
nthwith non-usize argument - don't emit
collapsible_else_iflint when all arms contain onlyif {} else {}expressions - fix
cmp_nullmissing parens in the example - fix
empty_enum_variants_with_bracketsmisses removing brackets in patterns - fix
if_then_some_else_nonesuggests wrongly when then ends with comment - fix
needless_type_castsuggesting invalid code for non-literal initializers - fix
println_empty_stringsuggestion caused error - fix
use_selffalse positive on type in const generics - fix an incorrect error message regarding the size of
usizeandisizeincast_precision_loss - move
collapsible_else_iftopedantic - new lint -
same_length_and_capacity
Rust-Analyzer
- add 'Use of AI tools' section to CONTRIBUTING.md
- add BreakExpr completion suggest
- add an lsp extension to get failed obligations for a given function
- add default varname for TryEnum postfix completion
- add guess braces doc
T![]forT_ - add ide-assist:
add_explicit_method_call_deref - complete reference
&T→&&T - introduce
crate_attrsfield inrust-project.json - pretty print attributes up to
cfg(false) - fix applicable on non naked if for
move_guardassist - fix guess renamed macro braces
- fix indent for
convert_iter_for_each_to_for - fix indent for
merge_nested_if - fix match arm nested body invalid expected type
- fix nested if-let for
merge_nested_if - fix flycheck generations not being synced for multiple workspaces
- more perf improvements, made possible after non-Salsa interneds
- non-Salsa-interned solver types - with GC for them
- remove conflicting advice
- support undotted-self for
thisparam closure
Rust Compiler Performance Triage
Very quiet week, with essentially no change in performance.
Triage done by @simulacrum. Revision range: 21ff67df..e1212ea7
1 Regression, 1 Improvement, 3 Mixed; 2 of them in rollups 36 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
Cargo
Compiler Team (MCPs only)
Leadership Council
- Raise travel grant limit to $100,000 for 2026
- Fund program management program for 2026
- Raise automatic travel grant to $2000
No Items entered Final Comment Period this week for Rust RFCs, 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-12-24 - 2026-01-21 🦀
Virtual
- 2025-12-30 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-01-03 | Virtual (Kampala, UG) | Rust Circle Meetup
- 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 (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-01-13 | Virtual | libp2p Events
- 2026-01-15 | Virtual (Berlin, DE) | Rust Berlin
- 2026-01-20 | Virtual (Washington, DC, US) | Rust DC
- 2026-01-21 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Asia
- 2026-01-07 | Tel Aviv-yafo, IL | Rust 🦀 TLV
Europe
- 2026-01-07 | Amsterdam, NL | Rust Developers Amsterdam Group
- 2026-01-07 | Girona, ES | Rust Girona
- 2026-01-08 | Geneva, CH | Post Tenebras Lab
- 2026-01-14 | Reading, UK | Reading Rust Workshop
- 2026-01-20 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2026-01-20 | Paris, FR | Rust Paris
North America
- 2025-12-27 | Boston, MA, US | Boston Rust Meetup
- 2026-01-03 | Boston, MA, US | Boston Rust Meetup
- 2026-01-08 | Mountain View, CA, US | Hacker Dojo
- 2026-01-10 | Boston, MA, US | Boston Rust Meetup
- 2026-01-15 | Seattle, WA, US | Seattle Rust User Group
- 2026-01-17 | Boston, MA, US | Boston Rust Meetup
- 2026-01-20 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-01-21 | Austin, TX, US | Rust ATX
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
they should just rename
unsafetoCso people can shut up
– /u/thisismyfavoritename on /r/rust
Thanks to Brian Kung 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
This Week in Rust 630
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
Project/Tooling Updates
- How we made SeaORM synchronous
- Building Slatron: The Digital TV Scheduling and Automation System
- The state of the kernel Rust experiment
Observations/Thoughts
- Secure your Rust projects and improve the developer experience with Dev Containers
- Miri: Practical Undefined Behavior Detection for Rust
- Finding Alignment by Visualizing Music With Rust
- Rust GCC backend: Why and how
Rust Walkthroughs
- Rust Unit Testing: File writing
- Stop Losing Intent: Absent, Null, and Value in Rust
- Getting started: How to Learn Embedded Rust for Beginners
- Writing a mockable Filesystem trait in Rust without RefCell
- [series] The Impatient Programmer’s Guide to Bevy and Rust: Chapter 4 - Let There Be Collisions
- Building Secure OTA Updates for ESP32 Over BLE with Rust
- Positional Memoization via Proc Macros in a Rust UI Framework
- hotpath-rs - CPU time vs wall-clock time: profiling async Rust
Miscellaneous
Crate of the Week
This week's crate is logos, a modern lexer generator.
Thanks to Sam O'Brien for the (partial 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.
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.
No Calls for participation were submitted this week.
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 2025-12-31 | Utrecht, The Netherlands | 2026-05-19 - 2026-05-20
- RustConf 2026 | CFP closes 2026-02-16 | Montreal, Quebec, Canada | 2026-09-08 - 2026-09-11
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
482 pull requests were merged in the last week
Compiler
rustc_scalable_vector(N)- experimentally add heterogeneous
tryblocks - externally implementable items
- forbid freely casting lifetime bounds of dyn-types
- inherit attributes in delegation
- only resolve main in bin crates
- overhaul filename handling for cross-compiler consistency
- simplify how inline asm handles
MaybeUninit
Library
- add
SystemTime::{MIN, MAX} - add
core::hint::prefetch_{read, write}_{data, instruction} - constify
DropGuard::dismissand trait impls - fix vec iter zst alignment
- stabilize
const_mul_add
Cargo
feat(log): make timing messages ready for HTML replayfeat(report): cargo report timings HTML replay- new: Improve quality of package name error messages
- package: Don't verify registry for --list
fix(timing): more self-contained timing/log datatest(lint): redact more due to line got omitted- cache submodule into git db
- downgrade curl-sys to 0.4.83
- feat: stabilize
-Zconfig-include - fixed incorrect locking logic when artifact-dir == build-dir
- test: use a larger default term width
Clippy
format_push_string: give a (possibly incomplete) suggestionmanual_saturating_arithmetic: lintx.checked_sub(y).unwrap_or_default()transmute_ptr_to_ref: Handle a pointer wrapped in astructunnecessary_fold: lint onfolds withAdd::add/Mul::mulmatch_like_matches_macro: fix false positive with guards containingif let- add
needless_type_castlint - add iterator reduction coverage to
never_loop - count unsafe operations and macro calls once towards the innermost unsafe block
- do not look for disallowed methods inside desugared code
- fix
branches-sharing-codesuggests wrongly onconstandstatic - fix
clippy::ref_as_ptrfor non-temporary references in let/const - fix
if_not_elsewrong unmangled macros - fix
if_then_some_else_nonefalse positive when encounteringawaitcodes - fix
map_entrysuggests wrongly for insert with cfg-ed out code - fix
match_like_matches_macrowrongly unmangled macros - fix
set-contains-or-insertfalse positive when set is mutated beforeinsert - fix
unchecked_time_subtractionfalse negative onOps::submethod call
Rust-Analyzer
- fix "Invariant violation: file emitted multiple times" when doing
scip . - fix
bind_unused_paramapplicable on closure - fix assist
and→and_thenparameter - fix complete reference for
&mut ty→&ty - fix complete unit return semicolon in arg-list
- fix expected type no strip deref
- fix indent for
toggle_ignore - fix invalid logic op for
replace_let_with_if_let - fix loses label for
convert_for_to_while_let - fix not applicable fn in closure for
add_return_type #[rustc_deprecated_safe_2024]can also come as#[rustc_deprecated_safe_2024(audit_that = "reason")]is_transmutablealways panicking- fix a panic in
ast::TypeBound::kind() - fix method resolution for incoherent impls when there are two sysroots in the crate graph
- implementation of
locals_usedin HIR level - lsp: handle dynamic registration for didSave
- prefix json target file with workspace root for sysroot metadata
- respect rustc's lint attribute application order
- show parameter hint for missing arguments
- support
#[feature(associated_type_defaults)] - support dyn compatibility for old toolchains without
MetaSized - support the new lowering of
format_args!() - use
cmark_with_optionsto write shortcuts links to the output - include operator overload occurrences in SCIP index
- reorder
add_return_typeassist
Rust Compiler Performance Triage
This week we saw several regressions, partly from the compiler doing more work. The remaining regressions are being investigated.
Triage done by @kobzol. Revision range: 55495234..21ff67df
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.5% | [0.1%, 5.1%] | 40 |
| Regressions ❌ (secondary) |
0.8% | [0.0%, 3.0%] | 63 |
| Improvements ✅ (primary) |
-0.7% | [-1.5%, -0.1%] | 35 |
| Improvements ✅ (secondary) |
-1.0% | [-7.4%, -0.0%] | 73 |
| All ❌✅ (primary) | -0.1% | [-1.5%, 5.1%] | 75 |
3 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups 36 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: * Adding a crates.io Security tab
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 strip shebang in expr-ctxt
include!(…) - Policy on the use of
rustc_legacy_const_genericsin stdarch - Tracking Issue for
atomic_try_update
Rust RFCs
Cargo
Leadership Council
No Items entered Final Comment Period this week for Compiler Team (MCPs only), 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-12-17 - 2026-01-14 🦀
Virtual
- 2025-12-17 | Virtual (Girona, ES) | Rust Girona
- 2025-12-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 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
- 2026-01-01 | Virtual (Berlin, DE) | Rust Berlin
- 2026-01-03 | Virtual (Kampala, UG) | Rust Circle Meetup
- 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 (Dallas, TX, US) | Dallas Rust User Meetup
Asia
- 2025-12-20 | Bangalore, IN | Rust Bangalore
- 2026-01-06 | Tel Aviv-yafo, IL | Rust 🦀 TLV
Europe
- 2025-12-18 | London, UK | London Rust Project Group
- 2025-12-19 | Lyon, FR | Rust Lyon
- 2026-01-07 | Girona, ES | Rust Girona
- 2026-01-08 | Geneva, CH | Post Tenebras Lab
- 2026-01-14 | Reading, UK | Reading Rust Workshop
North America
- 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
- 2025-12-25 | Mountain View, CA, US | Hacker Dojo
- 2026-01-08 | Mountain View, CA, US | Hacker Dojo
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 allow my code to be used for training AI on GitHub. Not because I fear AI taking our jobs—but because I’m confident my code will slow it down enough to save us all.
Thanks to Moy2010 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