This Week in Rust 654
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
- Launching the Rust Foundation Maintainers Fund
Project/Tooling Updates
- One year of Roto, the compiled scripting language for Rust
- xa11y: cross-platform desktop automation via native accessibility APIs
- halloy 2026.7 - now supports IRCv3 reply, redact, metadata, bot mode and more!
- Building a Native Markdown Previewer for AI-Generated Docs with Rust and WebView
- BPF in the agentic era
Observations/Thoughts
- Nine Ways to Do Inheritance in Rust, a Language Without Inheritance
- Async Rust: deep dive into cooperative scheduling and Tokio's architecture
Rust Walkthroughs
- ZK snarks for Rust developers: R1CS vs Plonkish vs AIR
- Learn Rust Closures By Building a Tiny Rule-Based Linter
- Learn Bevy States, Timers, and Grid Movement by Building Snake
- [video] RustCurious lesson 8: Generics and Monomorphization
Research
- Counterfactuals via the Causal Monad in Rust
Crate of the Week
This week's crate is remyx, a framework for building TUIs on top of Ratatui.
Thanks to Manuel Garcia de la Vega 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.
- MD Preview - Package MD Preview for Homebrew Cask
- OpenSlate - Test Health Check Endpoint
- OpenSlate - Test Login Endpoint
- OpenSlate - Test Notes CRUD Endpoint
- OpenSlate - Test Search Endpoint
- OpenSlate - Test Preference Endpoint
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.
- 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
500 pull requests were merged in the last week
Compiler
- expand async drops during drop elaboration
- offload_kernel macro expansion
- std::offload sharedmem
Library
- constify Iterator-related methods and functions
- move IoSlice and IoSliceMut to core::io
- specialize Clone of array IntoIter
- stabilize Path::is_empty
- stop needing an alloca for catch_unwind
Cargo
- diag: Add the 'cargo::default' group
- diag: Report summaries for unused_deps
- add --output-format=json to cargo doc as an unstable option
- add edition for scripts anytime we mutate the manifest
Rustdoc
- avoid ICE when rendering body-less type consts
- correctly propagate cfgs for glob reexports
- deterministic sorting for doc_cfg badges
- fix ICE on delegated async functions
- optimize impl sorting
- separate the caches for synthetic auto trait & blanket impls
Clippy
- add unused_async_trait_impl lint
- add new lint: for_unbounded_range
- added new lint for map_or(..., identity)
- redundant_pattern_match: improve suggestions
- faster has_arg
- fold all early lint passes into one statically-combined pass
- fold all late lint passes into one statically-combined pass
- memoize first_node_in_macro for consecutive queries
- skip disabled off-by-default doc reparses
Rust-Analyzer
- always use crates from sysroot in proc-macro-srv
- enable salsa feature for syntax-bridge
- also consider library features internal
- do not fill both drop() and pin_drop() in the "fill missing members" assist
- fix extract variable in token tree replace range
- port block and loop inference from rustc
- try to improve completion ranking
- use add deref in assign instead add &mut for value
- kill proc-macro-srv processes on shutdown
- remove direct use of make constructor with editor make
- remove make from rename and prettify macro expansion
Rust Compiler Performance Triage
This week we saw nice wins across the board thanks to merging several compiler queries together (#155678), and also substantial improvements in doc performance thanks to doing less work when sorting trait impls (#157179).
Triage done by @Kobzol. Revision range: 783eb8c8..4804ad7e
Summary :
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ | |||
| (primary) | 0.3% | [0.1%, 0.7%] | 14 |
| Regressions ❌ | |||
| (secondary) | 0.4% | [0.1%, 0.9%] | 39 |
| Improvements ✅ | |||
| (primary) | -0.9% | [-6.8%, -0.2%] | 111 |
| Improvements ✅ | |||
| (secondary) | -1.1% | [-2.9%, -0.1%] | 53 |
| All ❌✅ (primary) | -0.8% | [-6.8%, 0.7%] | 125 |
3 Regressions, 1 Improvement, 2 Mixed; 4 of them in rollups 35 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 strip_circumfix
- Tracking issue for CommandExt::show_window
- Tracking Issue for path_set_times
- Tracking Issue for nonzero_from_str_radix
- Tracking Issue for LoongArch CRC Intrinsics
- Tracking Issue for Vec::from_fn
- Add Step::forward/backward_overflowing to enable RangeInclusive loop optimizations
- Stabilize core::range::{legacy, RangeFull, RangeTo}
- Tracking Issue for box_as_ptr
- Tracking Issue for explicit-endian String::from_utf16
- Reduce unreachable-code churn after todo!()
- make repr_transparent_non_zst_fields a hard error
- Tracking Issue for algebraic floating point methods
- riscv: promote d, e, and f target_features to CfgStableToggleUnstable
- Tracking Issue for PathBuf::into_string
Compiler Team (MCPs only)
- Desugar async blocks in HIR instead of MIR
- Test new solver and polonius alpha on CI
- Add -Zllvm-target-feature target modifier to directly set LLVM-level target features, and deprecate doing that with -Ctarget-feature
- Set requirements for windows-gnu
- Create a new Tier 3 target: powerpc64le-unknown-none
- Add flag to pass MSRV/package.rust-version for use by lints
- Optimize repr(Rust) enums by omitting tags in more cases involving uninhabited variants.
- Promote tier 3 riscv32 ESP-IDF targets to tier 2
- Proposal for Adapt Stack Protector for Rust
Unsafe Code Guidelines
- Can references to uninhabited types ever be valid?
No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference 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
- BTF relocations
- --allow-unstable-flags: Allow unstable flags on stable
Upcoming Events
Rusty Events between 2026-06-03 - 2026-07-01 🦀
Virtual
- 2026-06-03 | Virtual (Indianapolis, IN, US) | Indy Rust
- Indy.rs - with Social Distancing
- 2026-06-04 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2026-06-04 | Virtual (Nürnberg, DE) | Rust Nuremberg
- Rust Nürnberg online
- 2026-06-04 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- Exploring FalkorDB - Learning to use a Graph Database in Rust
- 2026-06-06 | Virtual (Kampala, UG) | Rust Circle Meetup
- Rust Circle Meetup
- 2026-06-07 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Deep Learning: First Sunday
- 2026-06-08 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- RustWeek Reflections
- 2026-06-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Second Tuesday
- 2026-06-09 | Virtual (London, UK) | Women in Rust
- 👋 Community Catch Up
- 2026-06-10 | Virtual (Girona, ES) | Rust Girona
- Weekly coding session
- 2026-06-16 | Virtual (Washington, DC, US) | Rust DC
- Mid-month Rustful
- 2026-06-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- Rust Study/Hack/Hang-out
- 2026-06-17 | Virtual (Girona, ES) | Rust Girona
- Weekly coding session
- 2026-06-18 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- June, 2026 SRUG (Seattle Rust User Group) Meetup
- 2026-06-18 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2026-06-21 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Deep Learning: Third Sunday
- 2026-06-23 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Fourth Tuesday
- 2026-06-23 | Virtual (London, UK) | Women in Rust
- Lunch & Learn: What the heck are monads - and how do we fake them in Rust
- 2026-07-01 | Virtual (Indianapolis, IN, US) | Indy Rust
- Indy.rs - with Social Distancing
Africa
- 2026-06-09 | Johannesburg, ZA | Johannesburg Rust Meetup
- Rust by Example - Lifetimes
Europe
- 2026-06-03 | Dublin, IE | Rust Dublin
- Join us live and INPERSON for Rust 261
- 2026-06-03 | Girona, ES | Rust Girona
- Rust Girona Hack & Learn 06 2026
- 2026-06-10 | München, DE | Rust Munich
- Rust Munich 2026 / 2 - Hacking Evening
- 2026-06-11 | Switzerland, CH | PostTenebrasLab
- Rust Meetup Geneva
- 2026-06-12 - 2026-06-14 | Kraków, PL | Rustmeet
- Rustmeet
- 2026-06-16 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- Interactive: Everything is Open Source
- 2026-06-16 | Milano, IT | Rust Language Milan
- Real-time planning in Rust: SolverForge & SERIO
- 2026-06-18 | Aarhus, DK | Rust Aarhus
- Talk Night at Danske Commodities
- 2026-06-23 | Paris, FR | Rust Paris
- Rust meetup #86
- 2026-06-25 | Berlin, DE | Rust Berlin
- Rust Berlin Talks: The next generation
North America
- 2026-06-04 | Chicago, IL, US | Chicago Rust Meetup
- Rust Happy Hour
- 2026-06-04 | Saint Louis, MO, US | STL Rust
- Testing, Coverage, Tracey & Mutations
- 2026-06-06 | Boston, MA, US | Boston Rust Meetup
- Boston Common Rust Lunch, June 6
- 2026-06-11 | Lehi, UT, US | Utah Rust
- Utah Rust June Meetup
- 2026-06-11 | Mountain View, CA, US | Hacker Dojo
- RUST MEETUP at HACKER DOJO
- 2026-06-11 | San Diego, CA, US | San Diego Rust
- San Diego Rust June Meetup - Back in person!
- 2026-06-16 | San Francisco, CA, US | San Francisco Rust Study Group
- Rust Hacking in Person
- 2026-06-16 | San Francisco, CA, US | San Francisco Rust Study Group
- Rust Hacking in Person
- 2026-06-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- Rust Study/Hack/Hang-out
- 2026-06-18 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- June, 2026 SRUG (Seattle Rust User Group) Meetup
- 2026-06-24 | Austin, TX, US | Rust ATX
- Rust Lunch - Fareground
- 2026-06-24 | Los Angeles, CA, US | Rust Los Angeles
- Rust LA: Rust-Based Constraint Solvers in 2D Sketching with Zoo Technologies
- 2026-06-25 | Atlanta, GA, US | Rust Atlanta
- Rust-Atl
- 2026-06-26 | New York, NY, US | Rust NYC
- Rust NYC's Big Summer Social
Oceania
- 2026-06-25 | Melbourne, AU | Rust Melbourne
- Rust Melbourne June 2026
South America
- 2026-06-18 | Florianópolis, BR | Rust SC
- 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
If memory safety bugs were Waldo (Wally): finding them in C programs is a "Where's Waldo?" game, and Rust's
unsafesimplifies it to "Is this Waldo?"
– kornel on rust-users
Thanks to Moy2010 for the suggestion!
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