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
Project/Tooling Updates
- TangleGuard: Software Architecture Monitoring exclusively for Rust
- redb v3.0.0 - pure Rust embedded key-value store
- wrkflw v0.7.0 - run and validate github actions locally
- serde-ply - Modern serde (de)serializer for Ply files)
- Bevy's Fifth Birthday
- warp v0.4
Observations/Thoughts
- Building an asynchronous FUSE Filesystem in Rust
- Nine Rules for Generalizing Your Rust Library: Lessons from Extending RangeSetBlaze to Maps (Part 1)
- Wait! Don't spawn that task! — Comparing patterns for mutable state in concurrent applications
- Send/Sync Secret That Separates Professional From Amateur
- hyper HTTP/2 (Didn't) MadeYouReset
- Are we Teaching Rust Effectively?
- [video] BaM #29 - Improving the Rust embedded firmware
- [video] David Sankel – Rust and C++ Interop
Rust Walkthroughs
- Lessons learned from implementing SIMD-accelerated algorithms (ChaCha20 / ChaCha12) in pure Rust
- Build with Naz: Capturing Real-Time Build Progress from Cargo Using PTY and OSC Sequences
- Converting FunctionTrace from C to Rust
- [video] Message framing in Rust and Iroh
Crate of the Week
This week's crate is MOMA, a framework for Moving Origin Modular Arithmetic, with applications in number theory, cryptography and bioinformatics.
Thanks to Neil Crago 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, 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.
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.
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
464 pull requests were merged in the last week
Compiler
- account for bare tuples and
Pinmethods in field searching logic - detect
structconstruction with private field in field with default - emit
StorageLiveand scheduleStorageDeadforlet-else's bindings after matching - enforce tail call type is related to body return type in borrowck
- fortify generic param default checks
- implement
stability_implicationswithout a visitor - implement declarative (
macro_rules!) attribute macros (RFC #3697) - improve suggestion for "missing function argument" on multiline call
- mark all deprecation lints in name resolution as deny-by-default and report-in-deps
- parser: recover from attributes applied to types and generic args
- recover
for PAT = EXPR {} - preserve the
.debug_gdb_scriptssection - simplify dead code lint
- upgrade
semicolon_in_expressions_from_macrosfrom warn to deny
Library
- stabilize
duration_constructors_litefeature - stabilize
panic_payload_as_strfeature - stabilize
strict_overflow_ops - stabilize
unsigned_signed_difffeature - stabilize const
TypeId::of - stabilize loongarch32 inline asm
- constify remaining traits/impls for
const_ops - implement
continue_okandbreak_okfor ControlFlow - optimize
char::is_alphanumeric - print thread ID in panic message
std::sys::io::io_slice: Add UEFI types
Cargo
Rustdoc
Clippy
- fix
infinite_looppositive - do not attempt to compute size of a type with escaping lifetimes
- do not lint for
wildcard_importsin external macro - fix
&strtype check infrom_str_radix_10 - fix suggestion for
collapsible_ifandcollapsible_else_ifwhen the innerifis enclosed in parentheses - move
cognitive_complexitylint fromnurserytorestriction - move
crosspointer_transmutefromcomplexitytosuspicious - optimize
incompatible_msrvlint - optimize
needless_boollint - reuse previous
Vecallocation in loop
Rust-Analyzer
- add assignment type analysis for ide-completion
- add remove literal dbg stmt for
remove_dbg - add write! and writeln! to minicore
- fix
extract_expressions_from_format_stringon write! - fix non-lsp compliant
Responsedefinition - fix panic while trying to clear old diagnostics while there's nothing
- parser: fix parsing of trait bound polarity and for-binders
Rust Compiler Performance Triage
This week saw almost no regressions, while we got some nice wins. One of them was #143684, which updated the LLVM version used by the Rust compiler to 21.
Triage done by @kobzol. Revision range: 07b7dc90..6355cd39
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.5% | [0.2%, 0.8%] | 3 |
| Regressions ❌ (secondary) |
0.7% | [0.1%, 1.5%] | 8 |
| Improvements ✅ (primary) |
-1.5% | [-22.8%, -0.2%] | 219 |
| Improvements ✅ (secondary) |
-2.9% | [-18.8%, -0.1%] | 256 |
| All ❌✅ (primary) | -1.5% | [-22.8%, 0.8%] | 222 |
2 Regressions, 2 Improvements, 9 Mixed; 5 of them in rollups 37 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
- Fix overly restrictive lifetime in
core::panic::Location::filereturn type - Tracking Issue for
const_array_each_ref - Require approval from t-infra instead of t-release on tier bumps
- const-eval: full support for pointer fragments
- Don't warn on never to any
ascasts as unreachable - Port #[link] to the new attribute parsing infrastructure
c_variadic: Add future-incompatibility warning for...arguments without a pattern outside of extern blocks- Rewrite the new attribute argument parser
- Tracking Issue for array::repeat
Rust RFCs
No Items entered Final Comment Period this week for Cargo, Language Team, Language Reference, Unsafe Code Guidelines. or
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
- [new] Pass pointers to
constin assembly - [new] Include Clang in llvm-tools
- [new] repr(ordered_fields)
Upcoming Events
Rusty Events between 2025-08-13 - 2025-09-10 🦀
Virtual
- 2025-08-14 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2025-08-14 | Virtual (Berlin, DE) | Rust Berlin
- 2025-08-17 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-08-18 | Virtual (Kenya) | RustaceansKenya
- 2025-08-19 | Virtual (Santa Clara, CA, US) | UCSC Extension Community
- 2025-08-19 | Virtual (Washington, DC, US) | Rust DC
- 2025-08-20 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-08-21 | Hybrid (Mexico City, MX) | Rust MX
- 2025-08-21 | Virtual (Buenos Aires, AR) | Rust en Español
- 2025-08-21 | Virtual (London, UK) | Conf42: Online Tech Events
- 2025-08-21 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2025-08-24 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-08-26 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-08-28 | Virtual (Berlin, DE) | Rust Berlin
- 2025-08-31 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-09-02 | Hybrid (Seattle, WA, US) | RustConf
- 2025-09-02 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
- 2025-09-03 | Virtual (Indianapolis, IN, US) | Indy Rust
- 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
Asia
- 2025-08-20 | Seoul, KR | Seoul Rust
- 2025-08-23 | Bangalore, IN | Rust Bangalore
Europe
- 2025-08-13 | Cambridge, UK | Cambridge Rust Meetup
- 2025-08-13 | Reading, UK | Reading Rust Workshop
- 2025-08-16 | Basel, CH | Rust Basel
- 2025-08-19 | Aarhus, DK | Rust Aarhus
- 2025-08-19 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2025-08-21 | Oslo, NO | Rust Oslo
- 2025-08-28 | Manchester, UK | Rust Manchester
- 2025-08-30 | Stockholm, SE | Stockholm Rust
- 2025-09-03 | Frankfurt, DE | Rust Rhein-Main
- 2025-09-10 | Reading, UK | Reading Rust Workshop
North America
- 2025-08-14 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2025-08-14 | Lehi, UT, US | Utah Rust
- 2025-08-14 | Portland, OR, US | PDXRust
- 2025-08-18 | Denver, CO, US | FOSS Rust Colorado
- 2025-08-20 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-08-21 | Hybrid (Mexico City, MX) | Rust MX
- 2025-08-21 | Mountain View, CA, US | Hacker Dojo
- 2025-08-21 | Nashville, TN, US | Music City Rust Developers
- 2025-08-23 | Boston, MA, US | Boston Rust Meetup
- 2025-08-27 | Austin, TX, US | Rust ATX
- 2025-08-28 | Atlanta, GA, US | Rust Atlanta
- 2025-09-02 - 2025-09-05 | Hybrid (Seattle, WA, US) | RustConf
- 2025-09-03 | Phoenix, AZ, US | Desert Rust
- 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
Oceania
- 2025-08-26 | Barton, AU | Canberra Rust User Group
- 2025-08-27 - 2025-08-30 | Wellington, NZ | Rust Forge
South America
- 2025-08-21 | 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
- solid performance and tools to optimize it further: because the easy thing is generally Fast Enough, it's quick to develop features even in a perf-sensitive project
Despite a lack of suggestions, llogiq is feeling pretty good about 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