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
Project/Tooling Updates
- cuTile Rust - Fearless Concurrency on the GPU, memory-safe, data-race-free GPU kernels, B200 benchmarks
- Iroh 1.0 - Dial Keys, not IPs
- Diplomat - Multi-language FFI for Rust libraries
- I built EVM from scratch. Again.
- processkit 1.0 - async process tree management
- litchee: Rust Lichess API client
- Basin - Numerical Optimization in Rust
- Carboxyl 0.1.0-rc - A servo-based browser for the terminal
- kache 0.6.0 - a shareable Rust + C/C++ build cache
- numax v0.1.0 - first stable release of the numax distributed WASM runtime
- ZamSync - offline-first Rust sync engine
- Ktav - a quote-free config format
Observations/Thoughts
- zlib-rs in Firefox
- Rust Prevents Data Races, Not Race Conditions
- Build your project Zig-style
- How memory safety CVEs differ between Rust and C/C++
- Why stdx is not on crates.io
- [videos] RustWeek 2026 by RustNL, all talks playlist
- The iPad was on Tailscale
Rust Walkthroughs
- Learn Rust Concurrency By Building a Thread Pool
- There Is Life Before Main in Rust
- Async Task Locals From Scratch
- Fearless Embedded Rust: Driving a Lego Car with a Pico W
- Building a provider-agnostic LLM layer in Rust with Rig
Miscellaneous
- [video] RustWeek 2026 talk recordings
Crate of the Week
This week's crate is marser, a parser combinator library with a twist.
Thanks to Arne Code 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.
- solana-infra-doctor - List exit codes in
sol-doctor --help - solana-infra-doctor - Make the invalid-URL error suggest the expected scheme
- solana-infra-doctor - Add a glossary of RPC readiness terms
- openslate - add unit tests for slugify() in api/src/notes.rs
- openslate - add integration tests for notes CRUD in api/src/notes.rs
- openslate - add integration tests for auth flow in api/src/users.rs
- openslate - add unit tests for build_fts_query() in api/src/search.rs
- openslate - add integration tests for auth middleware and logout in api/src/auth.rs
- openslate - add integration tests for media endpoints (DB layer) in api/src/media.rs
- openslate - add unit tests for ext_from_mime() and filename_from_url() in api/src/media.rs
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.
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
527 pull requests were merged in the last week
Compiler
obligations_for_self_ty: skip irrelevant goals (recomputesub_rootfromstalled_vars)codegen_ssa: peel trans. wrappers on scalable vecs- add a check for impossible predicates to
trivial_const - add unstable loop unrolling hint attributes
- improve polymorphization of raw pointer formatting
- introduce
#[diagnostic::on_type_error(message)] - perf: reuse green-marking's edge walk when promoting a node
Library
- add
or_try_*variants forHashMapandBTreeMapEntry APIs - make
BorrowedBufandBorrowedCursorgeneric over the data - replace printables table with
unicode_data.rstables - stabilize
#![feature(box_as_ptr)] - stabilize
core::range::{legacy, RangeFull, RangeTo} - stabilize
int_format_intofeature - stabilize
nonzero_from_str_radix - stabilize feature
float_algebraic
Cargo
trim-paths: emitCARGO_TRIM_PATHS_REMAPfor build.rsdiag: Give diagnostics the same display path behavior as rustcdiag: Report all errors, in orderpublish: avoid false deadlock whento_confirmis non-emptyresolver: move yank policy to resolver layer
Rustdoc
- also run lint
unused_doc_comments - cleanup and (micro-)optimize
print_where_clause - correct doctest span for trailing semicolon after item
- don't strip hidden items in
AliasedNonLocalStripper - some more lazy formatting
Rustfmt
- add
doc_comment_code_block_small_heuristics, to overrideuse_small_heuristicsin doc code - stabilize
hex_literal_case
Clippy
- new
by_ref_peekable_peeklint - add
with_capacity_zerolint mem_replace_with_default: also emit inside macrosinfallible_destructuring_match: clean-up, split off the suggestion from the main messagemanual_is_variant_and: lintresult.ok().is_some_and(f)needless_borrow: same-name methods false positiveunnecessary_lazy_evaluations: handle closure->- deprecate the
from_iter_instead_of_collectlint - remove
is_integer_const - do not trigger
ref_patternslint on automatically derived code - enhance never loop
- add profile-specific configuration for disallowed methods and types
- fix
collapsible_matchsuggests wrongly when match body has no braces - fix
unnecessary_sort_byreverse suggestion using wrong closure parameter name - fix redundant closure call async false positive
- perf: check
is_in_testlast inincompatible_msrv - perf: check the token kind before extracting source in early literal lints
- perf: match expression shape before MSRV check in
cloned_ref_to_slice_refs - perf: skip
doc_markdowntext collection and word scan when the lint is allowed - perf: skip
single_component_path_importsmodule walk when nothing to lint
Rust-Analyzer
- create directory for
cargo xtask metrics rustc_tests - don't count C-variadic
...as a parameter for fn pointers - support flyimport exclude variants
- fix destructuring assignments not introducing moves
- offer inline macro in macro call and proc macro
- prefer bench command when target is bench to avoid cargo run
- supports inline variable in macro
- use package id as argument to
--packageif package is not unique - assist
inline_type_aliaswork on ADT definitions - perf: defer initial workspace flycheck until cache priming completes
- remove docs about removed
analysis-benchcommand - remove unnecessary feature flags from tests
- use ASCII lowercase for dylib extensions check
Rust Compiler Performance Triage
This week we had quite a lot of changes, a few small regressions that were a bit tough to diagnose, but the week is largely positive, overall. Notably, we got one massive improvement on the next-solver benchmark in #156187, and a nice speedup for incremental in #157781.
Triage done by @panstromek. Revision range: f3ef3bd8..b5d46ecb
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.4% | [0.2%, 0.6%] | 22 |
| Regressions ❌ (secondary) |
0.5% | [0.1%, 2.0%] | 40 |
| Improvements ✅ (primary) |
-1.8% | [-5.9%, -0.1%] | 125 |
| Improvements ✅ (secondary) |
-3.8% | [-69.4%, -0.1%] | 90 |
| All ❌✅ (primary) | -1.5% | [-5.9%, 0.6%] | 147 |
1 Regression, 4 Improvements, 8 Mixed; 5 of them in rollups 28 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
- Fix trait method resolution on an adjusted never type
- Tracking Issue for atomic_from_mut
- stabilize never type
- Lint against iterator functions that panic when N is zero
Compiler Team (MCPs only)
- Single-byte counter support in coverage instrumentation
- Rename the compiler files containing struct diagnostics to
diagnostics.rs
Leadership Council
Rust RFCs
Language Reference
No Items entered Final Comment Period this week for Cargo, 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 2026-06-17 - 2026-07-15 🦀
Virtual
- 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
- 2026-07-02 | Virtual (Berlin, DE) | Rust Berlin
- 2026-07-02 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2026-07-02 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-07-05 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-07-07 | Virtual (London, UK) | Women in Rust
- 2026-07-14 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-07-15 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Europe
- 2026-06-18 | Aarhus, DK | Rust Aarhus
- 2026-06-18 | Edinburgh, GB | Rust and Friends
- 2026-06-18 | Edinburgh, GB | Rust and Friends
- 2026-06-18 | Barcelona, ES | BcnRust
- 2026-06-19 | Dresden, DE | Rust Dresden
- 2026-06-23 | Paris, FR | Rust Paris
- 2026-06-23 | Warsaw, PL | Rust Warsaw
- 2026-06-24 | Manchester, GB | Rust Manchester
- 2026-06-25 | Berlin, DE | Rust Berlin
- 2026-06-25 | Copenhagen, DK | Copenhagen Rust Community
- 2026-07-02 | Edinburgh, GB | Rust and Friends
- 2026-07-02 | Enschede, OV, NL | Baseflow Tech Meetups
- 2026-07-08 | Dublin, IE | Rust Dublin
- 2026-07-09 | Switzerland, CH | PostTenebrasLab
North America
- 2026-06-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-06-18 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-06-18 | Nashville, TN, US | Music City Rust Developers
- 2026-06-20 | Boston, MA, US | Boston Rust Meetup
- 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
- 2026-06-27 | Boston, MA, US | Boston Rust Meetup
- 2026-07-02 | Saint Louis, MO, US | STL Rust
- 2026-07-04 | Boston, MA, US | Boston Rust Meetup
- 2026-07-09 | Lehi, UT, US | Utah Rust
- 2026-07-11 | Boston, MA, US | Boston Rust Meetup
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
"The never type is named after the date of its stabilization" was a good joke while it lasted.
– Sergey "Shnatsel" Davidoff on /r/rust
Thanks to Dos Moonen 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