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
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
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
Library
- constify Iterator-related methods and functions
- move
IoSliceandIoSliceMuttocore::io - specialize Clone of array IntoIter
- stabilize
Path::is_empty - stop needing an alloca for
catch_unwind
Cargo
diag: Add the'cargo::default'groupdiag: Report summaries forunused_deps- add
--output-format=jsonto 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_cfgbadges - fix ICE on delegated async functions
- optimize impl sorting
- separate the caches for synthetic auto trait & blanket impls
Clippy
- add
unused_async_trait_impllint - 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_macrofor 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()andpin_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
&mutfor 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
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_overflowingto 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-codechurn aftertodo!() - 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-versionfor 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
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
Upcoming Events
Rusty Events between 2026-06-03 - 2026-07-01 🦀
Virtual
- 2026-06-03 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-06-04 | Virtual (Berlin, DE) | Rust Berlin
- 2026-06-04 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-06-04 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-06-06 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2026-06-07 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-08 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-06-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-09 | Virtual (London, UK) | Women in Rust
- 2026-06-10 | Virtual (Girona, ES) | Rust Girona
- 2026-06-16 | Virtual (Washington, DC, US) | Rust DC
- 2026-06-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-06-17 | Virtual (Girona, ES) | Rust Girona
- 2026-06-18 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-06-18 | Virtual (Berlin, DE) | Rust Berlin
- 2026-06-21 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-23 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-23 | Virtual (London, UK) | Women in Rust
- 2026-07-01 | Virtual (Indianapolis, IN, US) | Indy Rust
Africa
- 2026-06-09 | Johannesburg, ZA | Johannesburg Rust Meetup
Europe
- 2026-06-03 | Dublin, IE | Rust Dublin
- 2026-06-03 | Girona, ES | Rust Girona
- 2026-06-10 | München, DE | Rust Munich
- 2026-06-11 | Switzerland, CH | PostTenebrasLab
- 2026-06-12 - 2026-06-14 | Kraków, PL | Rustmeet
- 2026-06-16 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2026-06-16 | Milano, IT | Rust Language Milan
- 2026-06-18 | Aarhus, DK | Rust Aarhus
- 2026-06-23 | Paris, FR | Rust Paris
- 2026-06-25 | Berlin, DE | Rust Berlin
North America
- 2026-06-04 | Chicago, IL, US | Chicago Rust Meetup
- 2026-06-04 | Saint Louis, MO, US | STL Rust
- 2026-06-06 | Boston, MA, US | Boston Rust Meetup
- 2026-06-11 | Lehi, UT, US | Utah Rust
- 2026-06-11 | Mountain View, CA, US | Hacker Dojo
- 2026-06-11 | San Diego, CA, US | San Diego Rust
- 2026-06-16 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-06-16 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-06-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-06-18 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-06-24 | Austin, TX, US | Rust ATX
- 2026-06-24 | Los Angeles, CA, US | Rust Los Angeles
- 2026-06-25 | Atlanta, GA, US | Rust Atlanta
- 2026-06-26 | New York, NY, US | Rust NYC
Oceania
- 2026-06-25 | Melbourne, AU | Rust Melbourne
South America
- 2026-06-18 | Florianópolis, BR | Rust SC
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?"
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