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
- crates.io: development update | Rust Blog
- Call for Testing: Speeding up compilation with
hint-mostly-unused
Newsletters
Project/Tooling Updates
- egui 0.32 - Atoms, popups, and better SVG support
- reqwest retries
- Introducing Rudy: A Toolchain for Rust Debuginfo
- RootAsRole 3.1.0 - Outperforms sudo, configurability, -u, -g, -E features
- Helix Release 25.07 Highlights
- UltraGraph 0.8: 1,300x Faster Graph Analytics — No Cluster Needed
Observations/Thoughts
- placing functions
- Rust is a great fit for the agentic era
- Here comes the sun: iteratively building a Rust program that gets the current weather conditions
- Thinking in Rust: Ownership, Access, and Memory Safety
- Adding lookbehinds to rust-lang/regex
- Publish all your crates everywhere all at once
- Variadic Generics ideas that won’t work for Rust
- [audio] Traceability
- KSAT with Vegard Sandengen
Rust Walkthroughs
- Programming Extensible Data Types in Rust with CGP - Part 3: Implementing Extensible Records
- Axum: Optimizing web API design with the Builder Pattern
- Rust unit testing test types
Research
Miscellaneous
Crate of the Week
This week's crate is oxvg, a SVG optimizer.
Thanks to Noah Baldwin 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.
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.
- Diesel: Designing
#[derive(QueryModel)]
Poll I - Default for #[diesel(check_for_backend()] - Diesel: Designing
#[derive(QueryModel)]
Poll II - Joining behaviour for #[diesel(embed)] - Diesel: Designing
#[derive(QueryModel)]
Poll III - All in one derive?
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
421 pull requests were merged in the last week
Compiler
- use lld by default on
x86_64-unknown-linux-gnu
stable - apply effects to
otherwise
edge in dataflow analysis - compute all rpitit of a trait
- consider nested cases for duplicate RPITIT
- propagate from borrowed locals in CopyProp
- resolver: refactor macro map into external and local maps
Library
- constify
Fn*
traits - constify
From
andInto
- make
Default
const and add someconst Default
impls - slice: mark
rotate_left
,rotate_right
unstably const - core: add
BorrowedCursor::with_unfilled_buf
- implement
int_format_into
feature
Cargo
- add
[hints]
table inCargo.toml
, and ahints.mostly-unused
hint - implementation and tests for
multiple-build-scripts
- perf: speed up TOML parsing by upgrading toml
Rustdoc
Clippy
arithmetic_side_effects
: don't warn onNonZeroU*.get() - 1
or_fun_call
: lint method calls insidemap_or
first arg{flat_,}map_identity
: recognize|[x, y]| [x, y]
as an identity function as well- add
uninlined_format_args
example for{:?}
- do not remove method call if type is adjusted
- fix
approx_const
for some new cases - fix
expect_fun_call
producing invalid suggestions - fix
legacy_numeric_constants
suggestion when call is wrapped in parens - fix
manual_abs_diff
suggests wrongly behind refs - fix
manual_assert
suggests wrongly for macros - fix
manual_is_variant_and
condition generation - fix false negative of
expect_used
- fix manual is multiple of
- fix multiple problems in #15063
- fix suggestion causes error of
needless_for_each
- skip exit late lint pass on tests
Rust-Analyzer
- rust-analyzer: generate
new
for tuplestruct
- rust-analyzer: support folding multiline arg list & fn body in one folding range
- rust-analyzer: assoc type where clause position
- rust-analyzer: fix display of
use<>
syntax - rust-analyzer: fixes for
dyn
inlay hint - rust-analyzer: inline asm fixes
- rust-analyzer: normalize projection types before calculating memory maps
- rust-analyzer: perf: put the expression stuff in the expression store behind an
Option<Box>
Rust Compiler Performance Triage
A busy week with a lot of rollups containing perf. regressions and mixed results. Overall, regressions won slightly, but there were also a few impressive wins on a few primary and secondary benchmarks. A lot of perf. effects are caused by the current rework of attribute parsing, which will hopefully result in slightly improved performance once it's finished.
Triage done by @kobzol. Revision range: 0d11be5a..a9fb6103
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
0.5% | [0.1%, 1.5%] | 62 |
Regressions ❌ (secondary) |
0.5% | [0.1%, 1.8%] | 78 |
Improvements ✅ (primary) |
-0.4% | [-3.9%, -0.1%] | 40 |
Improvements ✅ (secondary) |
-1.4% | [-11.6%, -0.0%] | 74 |
All ❌✅ (primary) | 0.1% | [-3.9%, 1.5%] | 102 |
5 Regressions, 4 Improvements, 8 Mixed; 5 of them in rollups 47 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
- Guarantee 8 bytes of alignment in Thread::into_raw
- rustdoc: add ways of collapsing all impl blocks
- Stabilize
const_float_round_methods
- Tracking Issue for
#![feature(const_float_round_methods)]
- Add
target_env = "macabi"
andtarget_env = "sim"
Rust RFCs,
No Items entered Final Comment Period this week for 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
- [new] repr(scalable)
Upcoming Events
Rusty Events between 2025-07-16 - 2025-08-13 🦀
Virtual
- 2025-07-16 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-07-17 | Hybrid (Redmond, WA, US) | Seattle Rust User Group
- 2025-07-17 | Virtual (Berlin, DE) | Rust Berlin
- 2025-07-20 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-22 | Virtual (London, UK) | Women in Rust
- 2025-07-24 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2025-07-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-31 | Virtual (Berlin, DE) | Rust Berlin
- 2025-08-02 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-08-03 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-08-06 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-08-10 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-08-12 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Asia
- 2025-07-19 | Delhi, IN | Rust Delhi
- 2025-07-26 | Bangalore, IN | Rust Bangalore
Europe
- 2025-07-23 | Dortmund, DE | Rust Dortmund
- 2025-07-24 | Edinburgh, UK | Rust and Friends
- 2025-07-24 | Nuremberg/Nürnberg, DE | Rust Nuremberg
- 2025-07-26 | Stockholm, SE | Stockholm Rust
- 2025-07-29 | Manchester, UK | Rust Manchester
- 2025-07-29 | Prague, CZ | Rust Czech Republic
- 2025-07-30 | Amsterdam, NL | Rust Developers Amsterdam Group
- 2025-07-31 | Augsburg, DE | Rust Meetup Augsburg
- 2025-08-06 | Girona, ES | Rust Girona
- 2025-08-13 | Reading, UK | Reading Rust Workshop
North America
- 2025-07-16 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-07-17 | Chicago, IL, US | Chicago Rust Meetup
- 2025-07-17 | Hybrid (Redmond, WA, US) | Seattle Rust User Group
- 2025-07-17 | Nashville, TN, US | Music City Rust Developers
- 2025-07-23 | Austin, TX, US | Rust ATX
- 2025-07-24 | Mountain View, CA, US | Hacker Dojo
- 2025-07-24 | México City, MX | Rust MX
- 2025-07-31 | Atlanta, GA, US | Rust Atlanta
- 2025-08-07 | Saint Louis, MO, US | STL Rust
- 2025-08-12 | San Francisco, CA, US | San Francisco Rust Study Group
South America
- 2025-07-17 | Florianópolis, BR | Rust Brazil + Rust Floripa
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
Unfortunately -∞ doesn't fit in
usize
.
Thanks to Kyllingene 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