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
Announcing Rust 1.87.0 and ten years of Rust!
Foundation
Celebrating Rust’s Birthday with Karen Tölva: Creator of Ferris the Rustacean!
Project/Tooling Updates
Announcing Markdown Ninja: Open Source alternative to Substack, Mailchimp and Netlify
Hypervisor as a Library
Observations/Thoughts
Rust turns 10
Rust 1.0, ten years later
Evolution of Rust compiler errors
For your eyes only
Disable debuginfo to improve Rust compile times
async/await versus the Calloop Model
[audio] Astral with Charlie Marsh
Rust Walkthroughs
Unlocking Tokio's Hidden Gems: Determinism, Paused Time, and Local Execution
Joining threads immediately as they finish in Rust
[video] Build with Naz : Rust, Memory performance & latency - locality, access, allocate, cache lines
Miscellaneous
Scanner- The Team Accelerating Log Analysis With Rust
$20,000 rav1d AV1 Decoder Performance Bounty
From C# to Rust: A 42-Day Developer Challenge
Crate of the Week
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!
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.
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
353 pull requests were merged in the last week
Compiler
improve dangerous_implicit_aurorefs diagnostic output
improve ternary operator recovery
perf: fast path for register_region_obligation
Library
add std::io::Seek instance for std::io::Take
optimize ToString implementation for integers
stop using TLS in signal handler
stabilize #![feature(non_null_from_ref)]
stabilize the avx512 target features
Cargo
cargo: allow configuring arbitrary codegen backends
cargo: feat: skip publish=false pkg when publishing entire workspace
cargo: stabilize doctest-xcompile
Clippy
comparison_chain: do not lint on 2 blocks expression
empty_struct_with_brackets: do not lint code coming from macro expansion
excessive_precision: Fix false positive when exponent has leading zero
match_same_arms, ifs_same_cond: lint once per same arm/condition
needless_match: do not pretend that return is not significant in an expression
unnecessary_wraps: do not include the whole body in the lint span
add new useless_concat lint
add the allow_exact_repetitions option to the module_name_repetititions lint
check if dropping an expression may have indirect side-effects
useless_as_ref: do not call TyCtxt::type_of() on a trait
fix ICE while computing type layout
fix false positive of useless_conversion when using .into_iter().any()
fix: unnecessary_to_owned false positive when map key is a reference
make lint span smaller for needless return
post non_std_lazy_statics type warnings onto the right node
reenable linting on UFCS deref calls
rewrite non_copy_const
use interned symbols instead of strings in more places
Rust-Analyzer
debounce workspace fetching for workspace structure changes
highlight unsafe operations
don't allow duplicate crates in the all_crates list
improve asm support
removing all unused imports removes used imports for imports used for Derive macros
request cancellation while processing changed files
Rust Compiler Performance Triage
A 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
Full report here.
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
Tracking Issue for AVX512 intrinsics
rustdoc: on mobile, make the sidebar full width and linewrap
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.
New and Updated RFCs
No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2025-05-21 - 2025-06-18 �
Virtual
2025-05-21 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
Linking
2025-05-22 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-05-22 | Virtual (Girona, ES) | Rust Girona
Sessió setmanal de codificació / Weekly coding session
2025-05-25 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-05-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Fourth Tuesday
2025-05-27 | Virtual (Tel Aviv, IL) | Code Mavens � - � - �
Rust at Work - conversation with Eli Shalom & Igal Tabachnik of Eureka Labs
2025-05-29 | Virtual (Nürnberg, DE) | Rust Nuremberg
Rust Nürnberg online
2025-05-29 | Virtual (Tel Aviv-yafo, IL) | Rust � TLV
שיחה חופשית ווירטואלית על ראסט
2025-06-01 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-06-03 | Virtual (Tel Aviv-yafo, IL) | Rust � TLV
Why Rust? למה ראסט? -
2025-06-04 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2025-06-05 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-06-07 | Virtual (Kampala, UG) | Rust Circle Meetup
Rust Circle Meetup
2025-06-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-06-10 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Second Tuesday
2025-06-10 | Virtual (London, UK) | Women in Rust
� Community Catch Up
2025-06-12 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
Meet, swap, and learn!
2025-06-15 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-06-17 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful
2025-06-18 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
Asia
2025-05-24 | Bangalore/Bengaluru, IN | Rust Bangalore
May 2025 Rustacean meetup
2025-06-08 | Tel Aviv-yafo, IL | Rust � TLV
In person Rust June 2025 at AWS in Tel Aviv
Europe
2025-05-22 | Augsburg, DE | Rust Augsburg
Rust meetup #13:A Practical Guide to Telemetry in Rust
2025-05-22 | Bern, CH | Rust Bern
2025 Rust Talks Bern #3 @zentroom
2025-05-22 | Paris, FR | Rust Paris
Rust meetup #77
2025-05-22 | Stockholm, SE | Stockholm Rust
Rust Meetup @UXStream
2025-05-27 | Basel, CH | Rust Basel
Rust Meetup #11 @ Letsboot Basel
2025-05-27 | Vienna, AT | Rust Vienna
Rust Vienna - May at Bitcredit �
2025-05-28 | Frankfurt, DE | Rust Rhein-Main
Marcel Koch and the (un)holy Trinity of Flutter, Rust and C
2025-05-29 | Oslo, NO | Rust Oslo
Rust Hack'n'Learn at Kampen Bistro
2025-05-31 | Stockholm, SE | Stockholm Rust
Ferris' Fika Forum #12
2025-06-04 | Ghent, BE | Systems Programming Ghent
Grow smarter with embedded Rust
2025-06-04 | München, DE | Rust Munich
Rust Munich 2025 / 2 - Hacking Evening
2025-06-04 | Oxford, UK | Oxford Rust Meetup Group
Oxford Rust and C++ social
2025-06-05 | München, DE | Rust Munich
Rust Munich 2025 / 2 - Hacking Evening
2025-06-11 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup
2025-06-17 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
Topic TBD
North America
2025-05-21 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
Linking
2025-05-23 | Boston, MA, US | Boston Rust Meetup
Seaport Rust Lunch, May 23
2025-05-28 | Albuquerque, NM, US | At Ideas and Coffee
Intro Level Rust Get-together
2025-05-28 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2025-05-29 | Atlanta, GA, US | Rust Atlanta
Rust-Atl
2025-05-29 | Mountain View, CA, US | Hacker Dojo
RUST MEETUP at HACKER DOJO
2025-05-31 | Boston, MA, US | Boston Rust Meetup
Harvard Square Rust Lunch, May 31
2025-06-05 | Saint Louis, MO, US | STL Rust
Leptos web framework
2025-06-08 | Boston, MA, US | Boston Rust Meetup
Boston University Rust Lunch, June 8
2025-06-17 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2025-06-18 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
Oceania
2025-06-16 | Christchurch, NZ | Christchurch Rust Meetup Group
Christchurch Rust Meetup
South America
2025-05-31 | São Paulo, BR | Rust São Paulo Meetup
Encontro do Rust-SP na WillBank
2025-06-04 | Montevideo, DE, UY | Rust Meetup Uruguay
Primera meetup de Rust de 2025!
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
/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?
– binarycat on rust-internals
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
Discuss on r/rust