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
- Announcing Rust 1.86.0 | Rust Blog
- Help us create a vision for Rust's future
- C ABI Changes for
wasm32-unknown-unknown
- March Project Goals Update
- March 2025 Project Director Update
Newsletters
Project/Tooling Updates
- Graphite progress report (Q4 2024)
- This Month in Redox - March 2025
- zxc: A Terminal based mitm proxy written in rust with Tmux and Vim as user interface
- rustc_codegen_gcc: Progress Report #35
Observations/Thoughts
- Replicating state changes across language barriers with Rust, UniFFI, and proc macros
- Deterministic simulation testing for async Rust
- Thinking like a compiler: places and values in Rust
- Things fall apart
- Syntactic Musings on View Types
Rust Walkthroughs
- Building a search engine from scratch, in Rust: part 3
- Pitfalls of Safe Rust
- How to implement cryptographically-secure API keys in Rust
Research
Miscellaneous
Crate of the Week
This week's crate is graft, a transactional storage engine optimized for lazy, partial, and strongly consistent replication.
Thanks to Carl Sverre 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.
- No calls for testing were issued this week by Rust, 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 X (formerly Twitter) 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.
- Rust Conf 2025 Call for Speakers | Closes 2025-04-29 11:59 PM PDT | Seattle, WA, US | 2025-09-02 - 2025-09-05
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 X (formerly Twitter) or Mastodon!
Updates from the Rust Project
451 pull requests were merged in the last week
Compiler
- implement
super let
- hygiene: avoid recursion in syntax context decoding
- misc query tweaks
- folder experiment: Micro-optimize RegionEraserVisitor
- folder experiment: Monomorphize region resolver
Library
Cargo
Rustfmt
- rustfmt: add
#![feature(ergonomic_clones)]
formatting - rustfmt: add
match_arm_indent
option - rustfmt: extend
cfg_if!
support tocfg_match!
Clippy
Rust-Analyzer
- rust-analyzer: project-model: provide flag for no deps
- rust-analyzer: auto-import: Prefer imports of matching types for argument lists
- rust-analyzer: ide-assists: remove
AssistKind::None
- rust-analyzer: add more completion about "impl"
- rust-analyzer: align usage of
default
andnew
with style guide - rust-analyzer: don't drop references with more than one definition
- rust-analyzer: fix color brackets in string context
- rust-analyzer: fix
format_args
lowering for ≥1.87 - rust-analyzer: fix a bug in MBE expansion that arose from incorrect fixing of an older bug in MBE
- rust-analyzer: yet another false positive invalid cast diagnostic
Rust Compiler Performance Triage
A busy week with lots of performance improvements. The largest performance improvement was from a revert of a previous week's regression just in time for the beta release. Another large improvement came to small tweaks in the query system showing that there still are opportunities for small, targeted performance improvements in the compiler.
Triage done by @rylev. Revision range: 2ea33b59..e643f59f
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
0.8% | [0.2%, 1.9%] | 11 |
Regressions ❌ (secondary) |
8.4% | [0.2%, 38.5%] | 16 |
Improvements ✅ (primary) |
-1.0% | [-35.1%, -0.2%] | 206 |
Improvements ✅ (secondary) |
-1.8% | [-8.6%, -0.1%] | 155 |
All ❌✅ (primary) | -0.9% | [-35.1%, 1.9%] | 217 |
2 Regressions, 9 Improvements, 5 Mixed; 4 of them in rollups 48 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
- f*::NAN: guarantee that this is a quiet NaN
- Stabilize let chains in the 2024 edition
- Stabilize the cell_update feature
- Stabilize
-Zdwarf-version
as-Cdwarf-version
- indirect-const-stabilize the
exact_div
intrinsic - Promise
array::from
_fn is generated in order of increasing indices
Other Areas
- No Items entered Final Comment Period this week for Rust RFCs, Cargo, 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
- No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2025-04-09 - 2025-05-07 🦀
Virtual
- 2025-04-10 | Virtual (Berlin, DE) | Rust Berlin
- 2025-04-15 | Virtual (Washington, DC, US) | Rust DC
- 2025-04-16 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2025-04-17 | Virtual and In-Person (Redmond, WA, US) | Seattle Rust User Group
- 2025-04-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-04-23 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2025-04-24 | Virtual (Berlin, DE) | Rust Berlin
- 2025-04-24 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2025-05-03 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-05-05 | Virtual (Tel Aviv-Yafo, IL) | Rust 🦀 TLV
- 2025-05-07 | Virtual (Indianapolis, IN, US) | Indy Rust
Asia
- 2025-04-22 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
Europe
- 2025-04-09 | Girona, ES | Rust Girona
- 2025-04-09 | Reading, UK | Reading Rust Workshop
- 2025-04-10 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2025-04-15 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2025-04-15 | London, UK | Women in Rust
- 2025-04-19 | Istanbul, TR | Türkiye Rust Community
- 2025-04-23 | London, UK | London Rust Project Group
- 2025-04-24 | Aarhus, DK | Rust Aarhus
- 2025-04-24 | Edinburgh, UK | Rust and Friends
- 2025-04-24 | Manchester, UK | Rust Manchester
- 2025-04-25 | Edinburgh, UK | Rust and Friends
- 2025-04-26 | Stockholm, SE | Stockholm Rust
- 2025-04-29 | Paris, FR | Rust Paris
- 2025-04-30 | Frankfurt, DE | Rust Rhein-Main
- 2025-05-01 | Nürnberg, DE | Rust Nuremberg
- 2025-05-06 - 2025-05-07 | Paris, FR | WebAssembly and Rust Meetup
- 2025-05-07 | Madrid, ES | MadRust
- 2025-05-07 | Oxford, UK | Oxford Rust Meetup Group
North America
- 2025-04-09 | Austin, TX, US | Rust ATX
- 2025-04-10 | Portland, OR, US | PDXRust
- 2025-04-14 | Boston, MA, US | Boston Rust Meetup
- 2025-04-15 | San Francisco, CA, US | San Francisco Rust Study Group
- 2025-04-17 | Mountain View, CA, US | Hacker Dojo
- 2025-04-17 | Nashville, TN, US | Music City Rust Developers
- 2025-04-17 | Redmond, WA, US | Seattle Rust User Group
- 2025-04-23 | Austin, TX, US | Rust ATX
- 2025-04-23 | Austin, TX, US | Rust ATX
- 2025-04-24 | Atlanta, GA, US | Rust Atlanta
- 2025-04-25 | Boston, MA, US | Boston Rust Meetup
- 2025-05-01 | Saint Louis, MO, US | STL Rust
- 2025-05-03 | Boston, MA, US | Boston Rust Meetup
Oceania
- 2025-04-09 | Sydney, NS, AU | Rust Sydney
- 2025-04-14 | Christchurch, NZ | Christchurch Rust Meetup Group
- 2025-04-22 | Barton, AC, AU | Canberra Rust User Group
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
The moment I froze Doctest with a loop in a comment.
– /u/HaMMeReD describing their first Rust Whoa! moment on /r/rust
Despite a lack of suggestions, llogiq is content with his choice.
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation