Warning
This post was published 40 days ago. The information described in this article may have changed.
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.
This week's crate is makepad, an in development shader based live designable OSS UI-Framework.
Thanks to crazust for the suggestion!
Please submit your suggestions and votes for next week!
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.
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!
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!
353 pull requests were merged in the last week
dangerous_implicit_aurorefs
diagnostic outputregister_region_obligation
std::io::Seek
instance for std::io::Take
ToString
implementation for integers#![feature(non_null_from_ref)]
publish=false
pkg when publishing entire workspacecomparison_chain
: do not lint on 2 blocks expressionempty_struct_with_brackets
: do not lint code coming from macro expansionexcessive_precision
: Fix false positive when exponent has leading zeromatch_same_arms
, ifs_same_cond
: lint once per same arm/conditionneedless_match
: do not pretend that return
is not significant in an expressionunnecessary_wraps
: do not include the whole body in the lint spanuseless_concat
lintallow_exact_repetitions
option to the module_name_repetititions
lintuseless_as_ref
: do not call TyCtxt::type_of()
on a traituseless_conversion
when using .into_iter().any()
unnecessary_to_owned
false positive when map key is a referencenon_std_lazy_statics
type warnings onto the right nodederef
callsnon_copy_const
all_crates
listA relatively quiet week, likely caused by not that many PRs being merged as many contributors were at RustWeek and the All Hands event. There were several nice wins in trait solving; the benchmark suite now contains benchmarks that use the new trait solver, so we can now focus on optimizing its performance in the near future.
Triage done by @kobzol.
Revision range: 718ddf66..59372f2c
Summary:
| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌
(primary) | 0.6% | [0.1%, 1.8%] | 25 |
| Regressions ❌
(secondary) | 0.9% | [0.1%, 3.1%] | 23 |
| Improvements ✅
(primary) | -0.3% | [-0.6%, -0.1%] | 33 |
| Improvements ✅
(secondary) | -2.2% | [-9.2%, -0.1%] | 26 |
| All ❌✅ (primary) | 0.1% | [-0.6%, 1.8%] | 58 |
2 Regressions, 5 Improvements, 3 Mixed; 3 of them in rollups 41 artifact comparisons made in total
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
No Items entered Final Comment Period this week for Cargo, 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.
Rusty Events between 2025-05-21 - 2025-06-18 🦀
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.
Please see the latest Who's Hiring thread on r/rust
/proc/self/mem
is outside the scope of rust's safety guarantees. otherwise this would open a can of worms that could not be closed except by forbidding debuggers from poking memory or marking every impure function as unsafe.like, what if you invoke gdb to poke memory? what if you modify .bash_profile to poke memory? what if you send an http request to a hypervisor to poke memory? what if you run a spin loop, and the noise of the fans whirring up activates a beam of ionizing radiation pointed directly at the CPU? what if opening the disk drive makes the computer fall off a cliff?
Thanks to Chayim Refael Friedman 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
🏷️ rust_feed