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
Foundation
Newsletters
Project/Tooling Updates
- The road to SeaQuery 1.0
- rkik v1.0.0 - stateless NTPv4/v6 inspection CLI in Rust
- Introducing cargo safe-publish
- Tracking trust with Rust in the kernel
- Slint 1.13 Released with Live-Preview for Rust and C++
Observations/Thoughts
- Rust Algorithm Bites – Binary Tree Level Order Traversal
- Adding derive(From) to Rust
- Why I Built TLQ (Tiny Little Queue)
- Combining struct literal syntax with read-only field access
- Be Careful Zero-Copying Strings with
serde
- Elephants for breakfast: testing untestable functions, one bite at a time
- Demangling the Details: Symbol Resolution in Rusty Trap
- [video] Rust 1.89.0
Rust Walkthroughs
- Let's write a macro in Rust - Part 2
- How to set up Rust logging in AWS Lambda for AWS CloudWatch
- Building a Todo App in GPUI
Research
- Sharing a mutable reference with Python
- Faster Rust builds on Mac
- Rust Performance Tricks
- [video] Embedded Rust Workshop
- [video] RustCurious 1: Why Rust is Safe: A novel introduction to ownership and borrowing
Miscellaneous
- Elements of Rust: A complete map of the Rust type system
- filtra.io interview with
tonari
team | Opening Portals With Rust - [audio] Hyper with Sean McArthur
- [video] Berkeley Seminar | The quest for performance
Crate of the Week
This week's crate is aehobak, a transcoder for bsdiff binary patches.
Thanks to David Michael Barr 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, Rust language RFCs, Cargo or Rustup.
Let us know if you would like your feature to be tracked as a part of this list.
RFCs
Rust
Rustup
If you are a feature implementer and would like your RFC to appear on the above list, add the new 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.
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.
No Calls for papers or presentations were submitted this week.
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
383 pull requests were merged in the last week
Compiler
Library
- add
Bound::copied
- add
Duration::from_nanos_u128
- add
Option::reduce
- implement Sum and Product for
Saturating(u*)
- implementation:
#[feature(nonpoison_condvar)]
- optimize
.ilog({2,10})
to.ilog{2,10}()
- str: stabilize
round_char_boundary
feature
Cargo
fix(cli)
: Show the bad manifest path- add more context to publish-failed error message
- feat: don't stop at first error when emitting lints and warnings
Clippy
map_identity
: suggest making the variable mutable when necessaryunit_cmp
: don't lint on explicitly written unit expr- allow
--print=crate-root-lint-levels
assertions_on_result_states
avoid changing return type in more casescollapsible_match
suggest ref/derefs when needed- enable
clippy::panic
in const contexts - fix false positive of
needless_range_loop
when meeting multidimensional array - fix
alloc_instead_of_core
false positive whenalloc
is an alias - fix
needless_for_each
suggesting wrongly with explicit closure input types - fix
print_literal
suggesting wrongly for inline literal following a numbered arg - fix
redundant_closure
suggests wrongly with deref overload - supress
excessive_precision
when constants are overly precise
Rust-Analyzer
- add progress bars to more places in analysis-stats
- attach the db in one more place in highlighting
- avoid
--target
option being given twice torustc
when invoked throughcargo rustc
while fetching target data layout - deduplicate methods in completion by function ID and not by name
- in
highlight_related,
when on an unsafe block, don't highlight unsafe operations of other unsafe blocks - when mapping next-solver's
dyn
type, addSelf
(aka. bound var ^1.0) to auto traits' substitutions - cache trait solving across queries in the same revision
Rust Compiler Performance Triage
A relatively quiet week. #144841 added an
optimization for incremental builds that provided a very nice win for the nalgebra
crate. #143290 should help avoid instantiating async functions repeatedly in
downstream crates.
Triage done by @kobzol..- Revision range: ee361e8f..75ee9ffd
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
0.3% | [0.2%, 0.4%] | 7 |
Regressions ❌ (secondary) |
2.0% | [0.1%, 13.6%] | 30 |
Improvements ✅ (primary) |
-1.9% | [-7.0%, -0.3%] | 17 |
Improvements ✅ (secondary) |
-0.7% | [-1.7%, -0.1%] | 23 |
All ❌✅ (primary) | -1.2% | [-7.0%, 0.4%] | 24 |
1 Regression, 3 Improvements, 6 Mixed; 5 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
- don't apply temporary lifetime extension rules to non-extended
super let
- [disposition: not specified] Stabilize
new_zeroed_alloc
- Do not materialise X in [X; 0] when X is unsizing a const
- Reject invalid literal suffixes in tuple indexing, tuple struct indexing, and struct field name position
- Stabilize
std::panic::Location::file_as_c_str
- Fix backtraces with
-C panic=abort
on linux; emit unwind tables by default - Specialize Iterator::eq{_by} for TrustedLen iterators
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-09-03 - 2025-10-01 🦀
Virtual
- 2025-09-02 - 2025-09-05 | Hybrid (Seattle, WA, US) | RustConf
- 2025-09-03 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2025-09-06 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-09-07 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-09-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-09-09 | Virtual (London, UK) | Women in Rust
- 2025-09-11 | Virtual (Berlin, DE) | Rust Berlin
- 2025-09-11 | Virtual (San Diego, CA, US) | San Diego Rust
- 2025-09-14 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-09-15 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2025-09-16 | Virtual (Washington, DC, US) | Rust DC
- 2025-09-17 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2025-09-18 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2025-09-23 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-09-25 | Virtual (Berlin, DE) | Rust Berlin
- 2025-10-01 | Virtual (Indianapolis, IN, US) | Indy Rust
Africa
- 2025-09-09 | Johannesburg, ZA | Johannesburg Rust Meetup
Asia
- 2025-09-13 | Hangzhou, CN | WebAssembly and Rust Meetup (Wasm Empowering AI)
- 2025-09-13 - 2025-09-14 | Hangzhou, CN | GOSIM
- 2025-09-17 | Tel Aviv-yafo, IL | Rust 🦀 TLV
Europe
- 2025-09-03 | Dortmund, DE | Rust Dortmund
- 2025-09-03 | Edinburgh, UK | Rust and Friends
- 2025-09-03 | Frankfurt, DE | Rust Rhein-Main
- 2025-09-03 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 2025-09-04 | Berlin, DE | Rust Berlin
- 2025-09-04 | Gdansk, PL | Rust Gdansk
- 2025-09-10 | Reading, UK | Reading Rust Workshop
- 2025-09-11 | Bern, CH | Rust Bern
- 2025-09-16 - 2025-09-18 | Berlin, DE | Oxidize Conference
- 2025-09-16 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2025-09-17 | Girona, ES | Rust Girona | Silicon Girona
- 2025-09-18 | Aarhus, DK | Rust Aarhus
- 2025-09-24 | München, DE | Rust Munich
- 2025-10-01 | Olomouc, CZ | Rust Moravia
North America
- 2025-09-02 - 2025-09-05 | Hybrid (Seattle, WA, US) | RustConf
- 2025-09-03 | Phoenix, AZ, US | Desert Rust
- 2025-09-04 | Montréal, QC, CA | Rust Montréal
- 2025-09-04 | Mountain View, CA, US | Hacker Dojo
- 2025-09-04 | Phoenix, AZ, US | Desert Rust
- 2025-09-04 | Saint Louis, MO, US | STL Rust
- 2025-09-06 | Boston, MA, US | Boston Rust Meetup
- 2025-09-09 | New York, NY, US | Rust NYC
- 2025-09-10 | Phoenix, AZ, US | Desert Rust
- 2025-09-11 | Lehi, UT, US | Utah Rust
- 2025-09-11 | México City, MX | Rust MX
- 2025-09-14 | Boston, MA, US | Boston Rust Meetup
- 2025-09-16 | San Francisco, CA, US | San Francisco Rust Study Group
- 2025-09-16 | San Francisco, CA, US | Vara Network
- 2025-09-17 | Charlottesville, VA, US | Charlottesville Rust Meetup
- 2025-09-18 | Nashville, TN, US | Music City Rust Developers
- 2025-09-18 | Seattle, WA, US | Seattle Rust User Group
- 2025-09-24 | Austin, TX, US | Rust ATX
- 2025-09-25 | Atlanta, GA, US | Rust Atlanta
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
Bugs like this are the worst! It's almost impossible to catch them in development, because there is never enough load on the system to force the scheduler to move the execution to another thread. So, you end up with one of these "impossible to reproduce, fails sometimes, but never for you" bugs.
It's mind-blowingly cool that the Rust compiler can detect something like this. And that seemingly unrelated parts of the language, like mutexes, lifetimes and async operations form such a coherent system.
– Bernard Kolobara on their blog
Thanks to llogiq 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