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
Foundation
Project/Tooling Updates
- gitoxide May 2025
- The GCC compiler backend can now fully bootstrap the Rust compiler!
- Rust Coreutils 0.1 Released With Big Performance Gains
- Introducing Roto: A Compiled Scripting Language for Rust
- alpine-rustx: Simple Rust cross-compilation using custom Docker images
- Taskfinder 2.9.0
- Yelken Second Alpha Release
- First look at Blinksy
- malai 0.2.5 is here: Instantly share local TCP services (database/SSH) with others
Observations/Thoughts
- iOS Deep-Linking with Bevy
- Sguaba: hard-to-misuse rigid body transforms for engineers with other things to worry about than linear algebra
- Making the rav1d Video Decoder 1% Faster
- Async from scratch 3: Pinned against the wall
- Fork Union: Beyond OpenMP in C++ and Rust?
- Programming language: Rust 2024 is the most comprehensive edition to date
- Type-level Bounded Recursion in Rust
- A Tale of Testability and Sending Non-Send Types in Rust
- [video] Hot-reloading Rust Game Dev: Coding Flappy Bird in Bevy From Scratch
- SIMD in zlib-rs (part 2): compare256
Rust Walkthroughs
- Secrets managers considered harmful. How to securely encrypt your sensitive data with envelope encryption and KMS in Rust
- Rust, Memory performance & latency
Miscellaneous
Crate of the Week
This week's crate is boreal, a safe and performant YARA rules evaluator.
Thanks to Vincent Thiberville 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.
- Hyperswitch - Add integrity check implementation in Adyen
- Hyperswitch - Add integrity check implementation in Authorize.net
- Hyperswitch - Add integrity check implementation in ACI
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.
EuroRust 2025| CFP closes on 2025-06-02 | Paris, France | 2025-10-09
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
433 pull requests were merged in the last week
Compiler
- don't rerun goals if none of their vars have changed
- fold predicate fast path in canonicalizer and eager resolver
Library
- add
std::os::unix::process::CommandExt::chroot
to safely chroot a child process - fix aliasing bug in UNIX process implementation
- implement
ptr::try_cast_aligned
andNonNull::try_cast_aligned
- implement
advance_by
viatry_fold
forSized
iterators
Cargo
- toml: Remove workaround for rustc frontmatter support
- add
-Zfix-edition
- add the future edition
- direct extraction for registry sources
- vendor files with .rej/.orig suffix
Rustdoc
- Unify type aliases rendering with other ADT
- on mobile, make the sidebar full width and linewrap
- speed up
TypeAliasPart::get
Clippy
manual_flatten
: fix with nestedSome
orOk
patternneedless_borrow
: do not contradictdangerous_implicit_autorefs
- consider consts in patterns as refutable
- fix
assign_op_pattern
false positive on unstable const trait - fix
manual_find
wrong suggestion when return type needs adjustment - fix
needless_for_each
wrong suggestion when closure has no braces - fix
manual_slice_size_computation
ICE and trigger inconst
context - make
trivial-copy-size-limit
consistently the size of the target pointer - various macro fixes for loop lints
Rust-Analyzer
- change import prefix default to be by crate
- correctly set the span of the
proc_macro
crate's Group delimiters - fix IDE resolution of item macros
- fix cache problems with lints level
- ide-assists, generate mut trait impl indent
- normalize when checking for uninhabited types for pattern exhaustiveness checking
- properly implement
might_be_inside_macro_call()
using semantic information instead of syntactical hacks - ide-assists,
generate_new
indent loses
Rust Compiler Performance Triage
A week dominated by new sources of noise. By and large there were not that many real changes to compiler performance. Some highlights of real change to focus on are an improvement in rustdoc that had large wins in a few key benchmarks and an improvement in trait selection that comes from moving from an if/else chain to pattern matching.
Triage done by @rylev. Revision range: 59372f2c..2805e1dc
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
0.7% | [0.1%, 7.5%] | 73 |
Regressions ❌ (secondary) |
1.4% | [0.1%, 6.8%] | 34 |
Improvements ✅ (primary) |
-4.0% | [-78.5%, -0.1%] | 41 |
Improvements ✅ (secondary) |
-6.2% | [-22.1%, -0.1%] | 28 |
All ❌✅ (primary) | -1.0% | [-78.5%, 7.5%] | 114 |
5 Regressions, 7 Improvements, 8 Mixed; 9 of them in rollups 45 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
- Allow comparisons between
CStr
,CString
, andCow<CStr>
. - Tracking Issue for
const_eq_ignore_ascii_case
- Stabilize feature result_flattening
- Tracking Issue for
breakpoint
feature (core::arch::breakpoint
) - Stabilize
sha512
.sm3
andsm4
for x86 - Stabilize keylocker
- terminology: allocated object → allocation
- Tracking Issue for
keylocker_x86
- Tracking Issue for
sha512_sm_x86
Cargo
No Items entered Final Comment Period this week for Rust RFCs, Language Reference, Language Team 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-05-28 - 2025-06-25 🦀
Virtual
- 2025-05-29 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2025-05-29 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
- 2025-06-01 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-06-03 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
- 2025-06-04 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-06-04 | Virtual | Scientific Computing in Rust
- 2025-06-05 | Virtual (Berlin, DE) | Rust Berlin
- 2025-06-07 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-06-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-06-10 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-06-10 | Virtual (London, UK) | Women in Rust
- 2025-06-12 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2025-06-15 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-06-17 | Virtual (Washington, DC, US) | Rust DC
- 2025-06-18 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-06-19 | Hybrid (Redmond, WA, US) | Seattle Rust User Group
- 2025-06-19 | Virtual (Berlin, DE) | Rust Berlin
- 2025-06-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-06-24 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-06-24 | Virtual (London, UK) | Women in Rust
Asia
- 2025-06-08 | Tel Aviv-yafo, IL | Rust 🦀 TLV
Europe
- 2025-05-28 | Frankfurt, DE | Rust Rhein-Main
- 2025-05-29 | Oslo, NO | Rust Oslo
- 2025-05-31 | Stockholm, SE | Stockholm Rust
- 2025-06-04 | Ghent, BE | Systems Programming Ghent
- 2025-06-04 | Oxford, UK | Oxford Rust Meetup Group
- 2025-06-05 | München, DE | Rust Munich
- 2025-06-10 | Cambridge, UK | Cambridge Rust Meetup
- 2025-06-10 | Warsaw, PL | Rust Warsaw
- 2025-06-11 | Reading, UK | Reading Rust Workshop
- 2025-06-17 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2025-06-19 | Aarhus, DK | Rust Aarhus
- 2025-06-19 | Edinburgh, UK | Rust and Friends
- 2025-06-20 | Edinburgh, UK | Rust and Friends
- 2025-06-24 | Manchester, UK | Rust Manchester
- 2025-06-25 | London, UK | London Rust Project Group
North America
- 2025-05-28 | Albuquerque, NM, US | At Ideas and Coffee
- 2025-05-28 | Austin, TX, US | Rust ATX
- 2025-05-29 | Atlanta, GA, US | Rust Atlanta
- 2025-05-29 | Mountain View, CA, US | Hacker Dojo
- 2025-05-31 | Boston, MA, US | Boston Rust Meetup
- 2025-06-05 | Chicago, IL, US | Chicago Rust Meetup
- 2025-06-05 | Saint Louis, MO, US | STL Rust
- 2025-06-08 | Boston, MA, US | Boston Rust Meetup
- 2025-06-11 | Phoenix, AZ, US | Desert Rust
- 2025-06-17 | San Francisco, CA, US | San Francisco Rust Study Group
- 2025-06-18 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-06-19 | Hybrid (Redmond, WA, US) | Seattle Rust User Group
- 2025-06-19 | Nashville, TN, US | Music City Rust Developers
- 2025-06-19 | Spokane, WA, US | Spokane Rust
- 2025-06-20 | Boston, MA, US | Boston Rust Meetup
- 2025-06-25 | Austin, TX, US | Rust ATX
Oceania
- 2025-06-16 | Christchurch, NZ | Christchurch Rust Meetup Group
- 2025-06-24 | Barton, AU | Canberra Rust User Group
South America
- 2025-05-31 | São Paulo, BR | Rust São Paulo Meetup
- 2025-06-04 | Montevideo, DE, UY | Rust Meetup Uruguay
- 2025-06-12 | Buenos Aires, AR | Rust en Español
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
This is basically the programming version of "learning Japanese as an English speaker is hard, therefore it is not a good language for babies to learn"
– /u/Aaron1924 on /r/rust discussing whether Rust might be a good first language or not.
Thanks to robin for the suggestion!
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