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
Foundation
Newsletters
Project/Tooling Updates
- Numax - A portable Rust runtime for distributed apps
- Entroly 0.18.0: Rust-powered AI context engine with PRISM reinforcement learning, SimHash dedup, and EGSC caching
- uFerris: A Versatile Learning Board for Rust Embedded
- Record Ownership: Which Side Is Right?
- iroh 1.0.0-rc.0 - The first release candidate
- Burn 0.21.0 Release: Up to 8× Lower Framework Overhead, Differentiable Collectives and Improved Kernels
- Ratty: A terminal emulator with inline 3D graphics
- Announcing the Rust runtime for Appwrite Functions
- Announcing diesel-async 0.9
- Fresh 0.3.4: Ansi-native 'terminal' theme matches the system's theme; UI for Live Grep + custom grep providers; persistent 'dock' split; Verilog/VHDL support; and much more
Observations/Thoughts
- Killing a
Cowmade my JSON formatter 42% faster - Getting Started with Geospatial Rust — What satellites measure, spectral bands, indices, cloud detection.
- Lessons Learned Building High-Performance Rust Profiler
- The limits of Rust, or why you should probably not follow Amazon, Cloudflare and Discord
- The hidden cost of mpsc channels
- "Respectful" YAML patching in Rust
Rust Walkthroughs
- Learn Rust Generics and Traits By Building a Mini Blackjack Game
- Build a Full-Featured Text Editor From Scratch | 0xKiire
- Where the sun keeps shinin': the provider pattern
- End-to-End Geospatial Processing with EORST — Build a satellite pipeline in Rust: STAC query to GeoTIFF.
- All the ways to mock your Rust code
- Rust in Android Development: Complete Guide
Miscellaneous
Crate of the Week
This week's crate is cloakrs, a library and CLI tool for detecting and masking personally identifiable information.
Despite having no suggestion to work with, llogiq is content with his choice.
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.
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 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
502 pull requests were merged in the last week
Compiler
- consider
Result<T, Uninhabited>andControlFlow<Uninhabited, T>to be equivalent toTfor must use lint - fewer global
node_id_to_def_idlookups - introduce move expressions (
move($expr)) - resolve: evaluate private visibilities eagerly in eff vis computation
Library
- add
Command::get_resolved_envs - add
Drop::pin_dropfor pinned drops - add
keepalive,set_keepalivetoTcpStreamimplementations - drop unmapped ZSTs in array
map - have arrays'
drop_gluejust unsize and call the slice version - implemented
PathBuf::into_string
Cargo
diag: Track Cargo diagnostic warning/error count like is done for rustc- suggest 'fmt' when user types 'cargo rustfmt'
- rebuild when -Zpublic-dependency changes
Clippy
- add new lint
inline_trait_bounds - new lint:
manual_clear - fix
manual_option_zipfalse positive when the outer param is used in closure - incompatibility of
non_canonical_clone_implandimplicit_return
Rust-Analyzer
- add wrap in tree list with editor
- add diagnostic for E0436
- add diagnostic for E0529
- complete
:: on module def - support deref patterns
- add whitespaces on postfix completion in macro
- do not infer signatures, instead infer anon consts in them
- do not replace closure capture place types with errors if they fail to normalize
- fix handling of
selfinlower_coroutine_body_with_moved_arguments() - fix offer on unrelated for
toggle_macro_delimiter - generally fix derive helper resolution in semantics
- in "Implement missing members", do not add assoc types with defaults
- no add spaces on
..=on macro inside macro - provide an InferCtxt to TyLoweringContext
- provide source map for the lowered
let self = selfbinding in async fns - ref match uses unified type
- renaming mut vars removed
mutin patterns generated by macro - respect lint attributes for diagnostics that don't set their main node
- remove make mut
Rust Compiler Performance Triage
This week saw a couple of PRs affecting the new trait solver, which is steadily moving forward,
in particular #156139 was a massive perf. win.
#156185 optimized visibility computation, resulting
in up to a 8% win on the typenum crate.
Triage done by @Kobzol. Revision range: 1d72d7e8..aa31d6d8
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.3% | [0.1%, 0.4%] | 62 |
| Regressions ❌ (secondary) |
0.5% | [0.1%, 1.5%] | 77 |
| Improvements ✅ (primary) |
-1.7% | [-8.8%, -0.2%] | 18 |
| Improvements ✅ (secondary) |
-13.6% | [-85.6%, -0.0%] | 34 |
| All ❌✅ (primary) | -0.2% | [-8.8%, 0.4%] | 80 |
2 Regressions, 2 Improvements, 5 Mixed; 4 of them in rollups 31 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:
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
- lint on
core::ffi::c_voidas a return type - Tracking issue for release notes of #154647: change
c_doubletof32onavrtargets - Stabilize
--remap-path-prefixin rustdoc - Replace printables table with
unicode_data.rstables - Tracking issue for RFC 2137: Support defining C-compatible variadic functions in Rust (c_variadic
- Tracking Issue for
Path::is_empty - Tracking Issue for integer formatting into a fixed-size buffer
- resolve: Partially convert
ambiguous_glob_importslint into a hard error
Rust RFCs
Language Reference
Leadership Council
No Items entered Final Comment Period this week for Cargo, Compiler Team (MCPs only), 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-05-13 - 2026-06-10 🦀
Virtual
- 2026-05-17 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-05-19 | Virtual (Washington, DC, US) | Rust DC
- 2026-05-20 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-05-20 | Virtual (Girona, ES) | Rust Girona
- 2026-05-21 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-05-21 | Virtual (Berlin, DE) | Rust Berlin
- 2026-05-21 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2026-05-26 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-05-26 | Virtual (London, UK) | Women in Rust
- 2026-05-27 | Virtual (Girona, ES) | Rust Girona
- 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-07 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-10 | Virtual (Girona, ES) | Rust Girona
Asia
- 2026-05-13 | Malaysia, MY | Rust Meetup Malaysia
- 2026-05-14 | Seoul, KR | Seoul Rust (Programming Language) Meetup
- 2026-05-16 | Bangalore, IN | Rust Bangalore
- 2026-06-02 | Beijing, CN | Voice AI and Rust Meetup (Rust for AI, lowcoderust.com)
Europe
- 2026-05-13 | Girona, ES | Rust Girona
- 2026-05-14 | Switzerland, CH | PostTenebrasLab
- 2026-05-18 - 2026-05-23 | Utrecht, NL | RustWeek 2026
- 2026-05-18 | Milano, MI, IT | Rust Language Milan
- 2026-05-19 | Aarhus, DK | Rust Aarhus
- 2026-05-19 | Amsterdam, NL | RustNL
- 2026-05-19 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2026-05-19 | London, UK | Women in Rust
- 2026-05-21 | Amsterdam, NL | RustNL
- 2026-05-22 | Amsterdam, NL | RustNL
- 2026-05-26 | Dortmund, DE | Rust Dortmund
- 2026-05-26 | Manchester, UK | Rust Manchester
- 2026-05-29 | Berlin, DE | Rust Berlin
- 2026-06-03 | Dublin, IE | Rust Dublin
North America
- 2026-05-14 | Lehi, UT, US | Utah Rust
- 2026-05-14 | Mountain View, CA, US | Hacker Dojo
- 2026-05-14 | Portland, OR, US | PDXRust
- 2026-05-14 | San Diego, CA, US | San Diego Rust
- 2026-05-16 | Boston, MA, US | Boston Rust Meetup
- 2026-05-19 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-05-20 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-05-20 | San Francisco, CA, US | Bay Area Rust Meetup
- 2026-05-21 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-05-21 | Nashville, TN, US | Music City Rust Developers
- 2026-05-23 | Boston, MA, US | Boston Rust Meetup
- 2026-05-27 | Austin, TX, US | Rust ATX
- 2026-05-28 | Atlanta, GA, US | Rust Atlanta
- 2026-05-28 | Los Angeles, CA, US | Rust Los Angeles
- 2026-05-30 | Boston, MA, US | Boston Rust Meetup
- 2026-06-04 | Saint Louis, MO, US | STL Rust
- 2026-06-06 | Boston, MA, US | Boston Rust Meetup
Oceania
- 2026-05-14 | Melbourne, AU | Rust Melbourne
- 2026-05-26 | Barton, ACT, AU | Canberra Rust User Group
South America
- 2026-05-13 | Montevideo, UY | Rust Meetup Uruguay
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
Of the last 150 merged PRs to Bun, 108 are memory-safety-adjacent — missed cleanup on an error path, use-after-free, uninitialized reads, out-of-bounds access, reentrancy. 75 of those would not compile in a language with destructors, move semantics, and a borrow checker. One in three PRs we ship is "forgot to free something on an error path."
Of the 108, ~88 are in Zig. The ~14 in C++ are mostly ref-cycles and GC-concurrency races — the residual class that survives any language. So the Zig→Rust delta is real: the Zig bugs are exactly the destructor/ownership-fixable kind, and the C++ side is already near the floor.
Without stronger compile-time guarantees, this stays a cat-and-mouse game. The proposal is to remove the largest bug class structurally rather than fix instances of it indefinitely.
– Jarred Sumner on the bun github
Thanks to Brian Kung 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