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](h…
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.
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-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
482 pull requests were merged in the last week
Compiler
- rustc_scalable_vector(N)
- experimentally add heterogeneous try blocks
- 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::dismiss and trait impls
- fix vec iter zst alignment
- stabilize const_mul_add
Cargo
- feat(log): make timing messages ready for HTML replay
- feat(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 data
- test(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) suggestion
- manual_saturating_arithmetic: lint x.checked_sub(y).unwrap_or_default()
- transmute_ptr_to_ref: Handle a pointer wrapped in a struct
- unnecessary_fold: lint on folds with Add::add/Mul::mul
- match_like_matches_macro: fix false positive with guards containing if let
- add needless_type_cast lint
- 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-code suggests wrongly on const and static
- fix clippy::ref_as_ptr for non-temporary references in let/const
- fix if_not_else wrong unmangled macros
- fix if_then_some_else_none false positive when encountering await codes
- fix map_entry suggests wrongly for insert with cfg-ed out code
- fix match_like_matches_macro wrongly unmangled macros
- fix set-contains-or-insert false positive when set is mutated before insert
- fix unchecked_time_subtraction false negative on Ops::sub method call
Rust-Analyzer
- fix "Invariant violation: file emitted multiple times" when doing scip .
- fix bind_unused_param applicable on closure
- fix assist and → and_then parameter
- 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_transmutable always 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_used in 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_options to write shortcuts links to the output
- include operator overload occurrences in SCIP index
- reorder add_return_type assist
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
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_generics in 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
-
Year-End Social Meetup w/ Python, Rust, and Others Local User Groups
-
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