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
- Creusot 0.9.0
- diesel-guard v0.5.0 released
- skim v1.0.0: fuzzy-finder TUI now uses Ratatui
- d-engine - A Lightweight Distributed Coordination Engine for Rust
- govctl: Opinionated CLI tool to enforce RFC-driven AI coding
- Burn 0.20.0 Release: Unifying CPU & GPU kernels with CubeCL
- git-cliff 2.12.0 is released! (a highly customizable changelog generator)
- Cot v0.5 Released: New Features for Lazy Web Developers
Observations/Thoughts
- Stop Allocating Per Label: A Data‑Driven Rust SymbolTable for OTLP/TSDB
- Profile a Parser Implementation in Rust
- Rust's Culture of Semantic Precision
- [video] Rust is not about memory safety
Rust Walkthroughs
- Structuring a Gtk4 Rust App
- Rust's standard library on the GPU
- Elegant and safe concurrency in Rust with async combinators
- AWS Lambda From Scratch
- Using Oracle db26ai from Rust with the oracle crate - Queries
- Using Oracle db26ai from Rust with the sibyl crate - Queries
Miscellaneous
Crate of the Week
This week's crate is throttled-tracing, a crate of periodic and throttled logging macros.
Thanks to Paperinik 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.
Cargo
-
No calls for testing were issued this week by Rust, 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.
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.
- 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
464 pull requests were merged in the last week
Compiler
rustc_errors: Add (heuristic) Syntax Highlighting forrustc --explain- cache derive proc macro expansion with incremental query
- feat: support references in reflection type info
Library
Cargo
git: avoid partial oid got zero paddedlockfile: switch toresolver.lockfile-pathconfig- invalidate the whole build cache when
-Zno-embed-metadatachanges - moved build-script bins to
depsdirectory - optimize
cargo locate-project --workspace - store artifact deps in build unit dir
Rustdoc
- fix intra-doc link bugs involving type aliases and associated items
- stop unconditionally evaluating the initializer of associated consts
Clippy
double_comparisons: check for expressions such asx != y && x >= ycollapsible_span_lint_calls: usesnippet_with_contextfor spans that are likely to contain macro expnsunnecessary_sort_by: reduce suggestion diffs- add
manual_checked_opslint - add
manual_takelint - do not consider binary operators as commutative by default
- do not output an error if standard output is full on --help/--version
- fix
unnecessary_sort_byfalse negative on field access - post
needless_continuediagnostic on the right node - skip
elidable_lifetime_nameslint for proc-macro generated code - suggest
Cstr::count_bytesinstrlen_on_c_strings
Rust-Analyzer
- trigger flycheck if non-workspace files get modified
- fix false positive precedence in
(2 as i32) < 3 - do not show sysroot dependencies in symbol search
- don't produce redundant block in
move_guard - ensure correct capturing of async fn params even when they use weird patterns
- fix path symbol search not respecting re-exports
- insert type vars and normalize for the type of a used
static - lookup flycheck by ID instead of vector index
- migrate
unwrap_blockassist to use SyntaxEditor - remove postcard from legacy
Rust Compiler Performance Triage
Various changes in both direction, but not much has changed overall.
Triage done by @panstromek. Revision range: 840245e9..3d087e60
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.6% | [0.1%, 1.6%] | 21 |
| Regressions ❌ (secondary) |
0.6% | [0.0%, 2.6%] | 113 |
| Improvements ✅ (primary) |
-0.3% | [-2.1%, -0.2%] | 37 |
| Improvements ✅ (secondary) |
-1.2% | [-29.6%, -0.1%] | 37 |
| All ❌✅ (primary) | 0.0% | [-2.1%, 1.6%] | 58 |
3 Regressions, 4 Improvements, 7 Mixed; 6 of them in rollups 40 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:
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
- Tracking Issue for AArch64 FEAT_JSCVT
- thread::scope: document how join interacts with TLS destructorsA
- Don't try to evaluate const blocks during constant promotion
- implement PartialEq\<Vec\<U>> for [T; N] and &[T; N]
Cargo
Leadership Council
No Items entered Final Comment Period this week for Compiler Team (MCPs only), 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 2026-01-21 - 2026-02-18 🦀
Virtual
- 2026-01-21 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-01-21 | Virtual (Girona, ES) | Rust Girona
- 2026-01-26 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-01-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-01-27 | Virtual (London, UK) | Women in Rust
- 2026-01-28 | Virtual (Girona, ES) | Rust Girona
- 2026-01-28 | Virtual (Lima-Perú, PE) | Rust Perú
- 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 (Cardiff, UK) | Rust and C++ Cardiff
- 2026-02-04 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-02-07 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2026-02-09 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-02-10 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-02-10 | Virtual (London, UK) | Women in Rust
- 2026-02-11 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-02-11 | Virtual (Girona, ES) | Rust Girona
- 2026-02-12 | Virtual (Berlin, DE) | Rust Berlin
- 2026-02-12 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-02-17 | Virtual (Washington, DC, US) | Rust DC
- 2026-02-18 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-02-18 | Virtual (Girona, ES) | Rust Girona
Asia
- 2026-02-05 | Seoul, KR | Seoul Rust (Programming Language) Meetup
- 2026-02-11 | Kuala Lumpur, MY | Rust Malaysia
Europe
- 2026-01-21 | Cambridge, UK | Cambridge Rust Meetup
- 2026-01-22 | Berlin, DE | Rust Berlin
- 2026-01-26 | Augsburg, DE | Rust Meetup Augsburg
- 2026-01-27 | Bergen, NO | Rust Bergen
- 2026-01-27 | Manchester, UK | Rust Manchester
- 2026-01-28 | Dortmund, DE | Rust Dortmund
- 2026-01-28 | Prague, CZ | Rust Prague
- 2026-01-28 | Toulouse, FR | Rust Toulouse
- 2026-01-29 | Ostrava, CZ | MeetUpdate Ostrava
- 2026-01-31 | Stockholm, SE | Stockholm Rust
- 2026-02-04 | Darmstadt, HE, DE | Rust Rhein-Main
- 2026-02-04 | München, DE | Rust Munich
- 2026-02-04 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 2026-02-05 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2026-02-11 | Basel, CH | Rust Basel
- 2026-02-11 | Reading, UK | Reading Rust Workshop
- 2026-02-12 | Geneva, CH | Post Tenebras Lab
- 2026-02-12 | Geneva, CH | Post Tenebras Lab
- 2026-02-14 | Girona, ES | Rust Girona
- 2026-02-18 - 2026-02-19 | London, UK | Rust Nation UK
North America
- 2026-01-21 | Austin, TX, US | Rust ATX
- 2026-01-21 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 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
- 2026-02-03 | New York, NY, US | Rust NYC
- 2026-02-05 | Saint Louis, MO, US | STL Rust
- 2026-02-07 | Boston, MA, US | Boston Rust Meetup
- 2026-02-12 | Lehi, UT, US | Utah Rust
- 2026-02-17 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-02-18 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
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 might suspect that if you are lumping all statically-typed languages into a single bucket without making particular distinction among them, then you might not have fully internalized the implications of union (aka Rust enum aka sum) typed data structures combined with exhaustive pattern matching.
I like to call it getting "union-pilled" and it's really hard to accept otherwise statically-typed languages once you become familiar.
Thanks to Colin Bennett 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