This Week in Rust 649
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
Newsletters
- The Embedded Rustacean Issue #70
- Scientific Computing in Rust #17 (April 2026)
Project/Tooling Updates
- lean-ctx: A Context Runtime for AI Coding Agents
- Zed is 1.0
- Niri v26.04
- Announcing Symposium
- menhera-cooldown: The crates.io Cooldown Proxy
- cargo-cooldown 0.3.0: a Cargo wrapper for supply-chain cooldowns
- Nutype 0.7.0
- AimDB: Reactive Pipelines as the Engine of the Data-First Architecture
- pyscan v2.1.0: Python Dependency Vulnerability Scanner
- flodl 0.5.3
- Blade XR Asteroids
Observations/Thoughts
- Bugs Rust Won't Catch
- A Gopher Meets a Crab
- Using Rust to Build a $1 Handheld Gaming Console
- All databases will eventually be (re)written in Rust
- [video] Rust India Conference 2026 — Full Talk Recordings
- [audio] Helsing with Jon Gjengset
Rust Walkthroughs
- Build a JSON Parser in Rust from Scratch
- device-envoy-esp: Making Embedded ESP32 Fun: With Rust, Embassy, and Composable Device Abstractions
- Rust Projects - Write a Redis Clone - Version 2.0.0
- [video] Rust Parallelism with Rayon - Use ALL CPUs
Research
- Performance of Rust language
Miscellaneous
- awesome axum
Crate of the Week
This week's crate is dithr, a buffer-first dithering and halftoning library.
Thanks to pbkx 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, Cargo, Rustup or Rust language RFCs.
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.
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 Bluesky 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.
- EuroRust 2026| 2026-05-04 (extended) | Barcelona, Spain | 2026-10-14 – 2026-10-17
- NDC Techtown | 2026-05-03 | Kongsberg, Norway | 2026-09-21 to 23.
- Scientific Computing in Rust 2026| 2026-06-05 | Virtual | 2026-07-08 - 2026-07-10
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 Bluesky or Mastodon!
Updates from the Rust Project
480 pull requests were merged in the last week
Compiler
- AliasTerm refactor
- add on_unmatch_args diagnostic attribute
- eliminate CrateMetadataRef
- fix performance regression introduced in #142531 by excluding Storage{Live,Dead} from CGU size estimation
- prefer -1 for None
- prevent deref coercions in pin!
- streamline CrateMetadataRef construction in provide_one!
Library
- constify Vec comparisons
- exposing Float Masks
- fix heap overflow in slice::join caused by misbehaving Borrow
- generalize IO Traits for Arc where &T: IoTrait
- maintain CStringArray null-termination even if Vec::push panics
- move std::io::RawOsError to core::io
- implement more traits for field-representing types
Cargo
- clean: do not error if explicitly specified target-dir does not exist
- compile: stabilize build.warnings
- compile: ignore unused deps if also transitive
- compile: Log all ignored unused externs
Clippy
- manual_assert_eq: new lint
- new module style lint: inline_modules
- needless_ifs: handle vertical tab as whitespace to avoid false negative
- inline_modules: fix the rust version the lint was introduced in
- make unused_format_specs catch width issues
- fix from_over_into false positive with conflicting blanket From impl
- fix wrong question_mark suggestion when match arm body is a destructuring assignment
Rust-Analyzer
- add .new postfix completion based on expected type (rust-lang/r…
- add unwrap_block, offer unwrap_block and unwrap_branch
- handle if matches!() for replace_if_let_with_match
- offer on compound assign for replace_arith_op
- offer on non-block matcharm for unwrap_branch
- when renaming a field, rename variables in constructors as well
- fix trait auto import appearing again when trait already been imported as _
- avoid prelude paths when imports.preferPrelude is false
- define the ABI of functions inside extern blocks as the ABI of the extern block
- fix closure capture hints being misplaced for async closures
- generate-method skips trait impl blocks when picking insertion site
- keep the same nonce when cloning a RootDatabase
- make InferenceResult::binding_mode() fallible
- mark enum variants as deprecated when their parent enum is deprecated
- no complete where kw after qualified path
- offer on ! for apply_demorgan_iterator
- offer on is_some_and etc. for apply_demorgan_iterator
- parse return #[attr] expr
- parse impl restrictions after the visibility
- pass proc_macro_cwd to Analysis::from_single_file()
- suppress infer vars in monomorphization
- migrate replace qualified name with use to SyntaxEditor
- perf: optimize allocation strategies of output/parser/event
- remove generate impl non syntax factory variant
Rust Compiler Performance Triage
Relatively few perf-affecting changes this week. Perf report is more positive than users should see due to the -Zincremental-verify-ich related improvements in #155473.
Triage done by @simulacrum. Revision range: 9ab01ae5..ca9a134e
1 Regression, 5 Improvements, 3 Mixed; 3 of them in rollups 32 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
- Consider Result<T, Uninhabited> and ControlFlow<Uninhabited, T> to be equivalent to T for must use lint
- Switch the destructors implementation for thread locals on Windows to use FLS
- Stabilize VecDeque::truncate_front
- Derives Copy for ffi::FromBytesUntilNulError
- Tracking Issue for ExitCodeExt on Windows
- remove forever-deprecated and hidden f64 methods
Cargo
- Remove curl dependency from crates-io crate
Compiler Team (MCPs only)
- Make stable hashing names consistent
- replace box_patterns in the compiler with deref_patterns
- Create a new Tier 3 target: powerpc64le-unknown-none
Rust RFCs
- RFC: Inheriting of default-features in Cargo
- Rust Foundation Maintainer Fund
- build-std: explicit dependencies
Unsafe Code Guidelines
- Should validity of a reference depend on the contents of memory in any way?
No Items entered Final Comment Period this week for Language Reference, Language Team or Leadership Council. 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
- Bounded Trait Casting
- Named Fn trait parameters
Upcoming Events
Rusty Events between 2026-04-29 - 2026-05-27 🦀
Virtual
- 2026-04-29 | Virtual (Girona, ES) | Rust Girona
- Weekly coding session
- 2026-05-01 | Virtual (Nürnberg, DE) | Rust Nuremberg
- Hacker's Hike 0x1
- 2026-05-02 | Virtual (Kampala, UG) | Rust Circle Meetup
- Rust Circle Meetup
- 2026-05-03 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Deep Learning: First Sunday
- 2026-05-05 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- Rust code reading and open source contribution
- 2026-05-06 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- Practical introduction to SIMD
- 2026-05-06 | Virtual (Girona, ES) | Rust Girona
- Weekly coding session
- 2026-05-06 | Virtual (Indianapolis, IN, US) | Indy Rust
- Indy.rs - with Social Distancing
- 2026-05-07 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2026-05-07 | Virtual (Nürnberg, DE) | Rust Nuremberg
- Rust Nürnberg online
- 2026-05-12 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Second Tuesday
- 2026-05-12 | Virtual (London, UK) | Women in Rust
- 👋 Community Catch Up
- 2026-05-17 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Deep Learning: Third Sunday
- 2026-05-19 | Virtual (Washington, DC, US) | Rust DC
- Mid-month Rustful
- 2026-05-20 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- Mouse Control with Rust
- 2026-05-20 | Virtual (Girona, ES) | Rust Girona
- Weekly coding session
- 2026-05-21 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- May, 2026 SRUG (Seattle Rust User Group) Meetup
- 2026-05-21 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2026-05-21 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- Tock OS Part #4 - Capsule coding in QEMU!
- 2026-05-26 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Fourth Tuesday
- 2026-05-26 | Virtual (London, UK) | Women in Rust
- Lunch & Learn: Seeing Into Your Code - A Practical Guide to Tracing in Rust
- 2026-05-27 | Virtual (Girona, ES) | Rust Girona
- Weekly coding session
Asia
- 2026-05-13 | Malaysia, MY | Rust Meetup Malaysia
- Rust Meetup May 2026
- 2026-05-16 | Bangalore, IN | Rust Bangalore
- May 2026 Rustacean meetup
Europe
- 2026-04-29 | Copenhagen, DK | Copenhagen Rust Community
- Rust meetup #67
- 2026-04-29 | Paris, FR | Paris Rustaceans
- Rust Meetup in Paris
- 2026-04-30 | Berlin, DE | Rust Berlin
- Rust Berlin Talks: The next generation
- 2026-04-30 | Manchester, GB | Rust Manchester
- Rust Manchester April Talk
- 2026-05-02 | Augsburg, DE | Rust Munich and Rust Augsburg
- Augsburger Linux-Infotag 2026: Gemeinschaftsstand Rust Augsburg und Rust München
- 2026-05-04 | Amsterdam, NH, NL | Rust Developers Amsterdam Group
- Rust Meetup @ JetBrains
- 2026-05-04 | Frankfurt, DE | Rust Rhein-Main
- Writing a stock portfolio simulation in Rust with Leptos
- 2026-05-05 | Olomouc, CZ | Rust Moravia
- Rust Moravia Meetup (Ukaž testy!)
- 2026-05-06 | Milano, MI, IT | Rust Language Milan
- Rust Milan @ Python Milano: Python or Rust? Yes!
- 2026-05-06 | Oxford, UK | Oxford ACCU/Rust Meetup.
- Building LLMs from scratch
- 2026-05-07 | Edinburgh, UK | Rust and Friends
- Rust May Talks: Aetherus + Bevy
- 2026-05-13 | Girona, ES | Rust Girona
- Rust Girona Hack & Learn 05 2026
- 2026-05-14 | Switzerland, CH | PostTenebrasLab
- Rust Meetup Geneva
- 2026-05-18 - 2026-05-23 | Amsterdam, NL | RustWeek 2026
- RustWeek 2026
- 2026-05-19 | Aarhus, DK | Rust Aarhus
- Hack Night
- 2026-05-19 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- Cross-Building & Cross-Testing
- 2026-05-19 | London, UK | Women in Rust
- RustWeek lunch meetup
- 2026-05-21 | Amsterdam, NL | RustNL
- RustWeek Hackathon
- 2026-05-22 | Amsterdam, NL | RustNL
- Bike tour around Utrecht
- 2026-05-26 | Dortmund, DE | Rust Dortmund
- Rust Dortmund Meetup - Agentic Programming - May
- 2026-05-26 | Manchester, UK | Rust Manchester
- Rust Manchester May Code Night
North America
- 2026-04-30 | Atlanta, GA, US | Rust Atlanta
- Rust-Atl
- 2026-04-30 | Mountain View, CA, US | Hacker Dojo
- RUST MEETUP at HACKER DOJO
- 2026-05-02 | Boston, MA, US | Boston Rust Meetup
- Alewife Rust Lunch, May 2
- 2026-05-07 | Saint Louis, MO, US | STL Rust
- Open Project Night
- 2026-05-09 | Boston, MA, US | Boston Rust Meetup
- Back Bay Rust Lunch, May 9
- 2026-05-14 | Portland, OR, US | PDXRust
- From Radio Waves to Pixels - Real-Time Visualizations with Rust and WebAssembly
- 2026-05-14 | San Diego, CA, US | San Diego Rust
- San Diego Rust May Meetup - Back in person!
- 2026-05-16 | Boston, MA, US | Boston Rust Meetup
- Lechmere Rust Lunch, May 16
- 2026-05-19 | San Francisco, CA, US | San Francisco Rust Study Group
- Rust Hacking in Person
- 2026-05-20 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- Mouse Control with Rust
- 2026-05-20 | San Francisco, CA, US | Bay Area Rust Meetup
- Bay Area Rust Meetup
- 2026-05-21 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- May, 2026 SRUG (Seattle Rust User Group) Meetup
- 2026-05-21 | Nashville, TN, US | Music City Rust Developers
- Community Meetup
- 2026-05-23 | Boston, MA, US | Boston Rust Meetup
- Allston Rust Lunch, May 23
- 2026-05-27 | Austin, TX, US | Rust ATX
- Rust Lunch - Fareground
Oceania
- 2026-05-14 | Melbourne, AU | Rust Melbourne
- Rust Melbourne - May 2026
- 2026-05-26 | Barton, AC, AU | Canberra Rust User Group
- May Meetup
South America
- 2026-05-13 | Montevideo, UY | Rust Meetup Uruguay
- Rust Uruguay meetup de Mayo
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
Sometimes, the best projects are the ones you never thought you could build.
– Chris Dell on his blog
Another week bereft of any quote suggestions. llogiq is glad to have found this anyway.
Please submit quotes and vote for next week!
This Week in Rust is edited by:
- nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- mariannegoldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilist
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
Discussion in the ATmosphere