2025-05-21

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

Show more