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
Newsletters
Project/Tooling Updates
- Imgclip: A Cross-Platform CLI for Clipboard ↔ Image File Conversion
- Connectors: Where AimDB Meets the Real World
- rkik-nts 1.0.0: a high-level Rust Network Time Security (RFC 8915) client library
- unix-ancillary 0.2.2 — safe SCM_RIGHTS fd-passing for Rust
- kache 0.2.0: zero-copy, content-addressed Rust build cache (RUSTC_WRAPPER)
- Fileman - a cross-platform 2-panel file manager
Observations/Thoughts
- One week of view_types
- Async Rust never left the MVP state
- stable specialization in Rust
- Your Clippy Config Should Be Stricter
- Your Clippy Config Should Be Stricter-er
- The
Syncbound nobody asked for - Cross-platform Rust: Analyzing how WhatsApp, Signal and more are shipping Rust to billions of devices
- [audio] Netstack.FM episode 37 — dial9: from black box to insight in Tokio
Rust Walkthroughs
- oops, cubic macro!
- [video] RustCurious lesson 7: Arrays and Slices
- Writing Middlewares for Rust Lambda Functions
- Learn Error Handling in Rust By Building a TOML Config Parser
Miscellaneous
Crate of the Week
This week's crate is burn, a tensor and deep learning library.
Thanks to Jonas for the 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.
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
504 pull requests were merged in the last week
Compiler
Library
Cargo
feat(lints): Add deny-by-defaulttext_direction_codepointlintsfix(compile): Where possible, hint about misplaced depsfix(config): [env]relative paths definitionfix(config): normalize included config paths- remove curl dependency from crates-io crate
Rustdoc
Clippy
- add a check for some followed by filter
- fix
bad_bit_maskICE for overloaded bit ops needless_return_with_question_marktrigger in async functions
Rust-Analyzer
diagnostics: add handler for E0130- add AssocItemList
add_itemeditor variant - expand glob import on cyclic import fail
- add diagnostic for E0784
- allow renaming of elided lifetimes
- diagnose trait errors 🎉
- emit a diagnostic for
non_exhaustive structwhen constructed - offer on if-expr with else-if for
convert_to_guarded_return - support if-else in value on postfix completions
- add missing exprs to visiting
- add missing solver lang items
- add semicolon after expr in stmt for
unwrap_branch - catch
#[rustc_reservation_impl = "reason"] - don't fetch diagnostics until proc-macros are loaded
- don't panic on
impl ?Sizedforintroduce_named_type_parameter - fix
unwrap_branchinmatch_arm - fix stack overflow on projection display
- handle empty expr in tuple expr
- improve
prettify_macro_expansion() - improve whitespaces for trait item complete
- infer the expected type as the return type for async blocks defined by async fns
- port array and ref exprs inference from rustc
- qualify .new path and no complete generic params
- remove usage of
references_error()in upvar inference - show the user's message for
#[must_use] - use
Pattern_White_Spacefor whitespace handling - various fixes for
lower_coroutine_body_with_moved_arguments() - wrap top level or patterns in parens in
convert_match_to_let_else - hir-ty: emit diagnostic for unused
#[must_use]values - ide-diagnostics: emit error for duplicate field in record expression
- ide-diagnostics: emit error for mismatched array pattern length
- migrate generate function to SyntaxEditor
- perf: cache more things that are related to lang items (paren traits, children/sibling assoc types/functions) but are not lang items themselves
- perf: do not intern
AdtDef - perf: improve performance of integer-based symbols
- remove add predicate for Where syntax
- remove unused a method in
edit_in_place - replace insert use and insert use as alias with its editor variant
- use syntaxFactory in generic arg instead of vanilla make
Rust Compiler Performance Triage
This week's result is pretty much neutral. It looks negative in icount numbers, but that's spurious, wall time remained largely unchanged. Some big performance improvements landed in the new solver, which is not enabled by default, yet.
Triage done by @panstromek. Revision range: ca9a134e..1d72d7e8
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ? (primary) |
0.6% | [0.2%, 1.2%] | 106 |
| Regressions ? (secondary) |
0.7% | [0.2%, 2.4%] | 67 |
| Improvements ? (primary) |
-0.6% | [-1.7%, -0.2%] | 66 |
| Improvements ? (secondary) |
-0.6% | [-2.8%, -0.0%] | 60 |
| All ?? (primary) | 0.1% | [-1.7%, 1.2%] | 172 |
1 Regression, 2 Improvements, 9 Mixed; 5 of them in rollups 34 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
- Make trait refs & assoc ty paths properly induce trait object lifetime defaults
- validate
#[link_name = "..."]&#[link(name = "...")]parameters - Improve precision of Duration-float operations
- Tracking Issue for
unsafe_cell_access - Tracking Issue for producing a
Result<(), E>from abool - Allow shortening lifetime in CoerceUnsized for &mut
- Ensure Send/Sync is not implemented for std::env::Vars{,Os}
- feat(rustdoc): stabilize
--emitflag - Make
Infallible = ! - Add lint againts invalid runtime symbol definitions
- error on empty
export_name - Check arguments of attributes where no arguments are expected
- stabilize
feature(cfg_target_has_atomic_equal_alignment) - fix: fix the capture behavior of
if letin closures - Resolver: Batched Import Resolution
- Ensure Send/Sync impl for std::process::CommandArgs
Compiler Team (MCPs only)
Rust RFCs
Language Team
No Items entered Final Comment Period this week for Cargo, Language Reference, Leadership Council 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
Upcoming Events
Rusty Events between 2026-05-06 - 2026-06-03 🦀
Virtual
- 2026-05-06 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-05-06 | Virtual (Girona, ES) | Rust Girona
- 2026-05-06 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-05-07 | Virtual (Berlin, DE) | Rust Berlin
- 2026-05-07 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-05-09 | Virtual (Girona, ES) | Rust Girona
- 2026-05-12 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-05-12 | Virtual (London, UK) | Women in Rust
- 2026-05-12 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 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
Africa
- 2026-05-12 | Johannesburg, ZA | Johannesburg Rust Meetup
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
Europe
- 2026-05-06 | Köln, DE | Rust Cologne
- 2026-05-06 | Milano, MI, IT | Rust Language Milan
- 2026-05-06 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 2026-05-07 | Edinburgh, UK | Rust and Friends
- 2026-05-11 | Augsburg, DE | Rust Meetup Augsburg
- 2026-05-13 | Girona, ES | Rust Girona
- 2026-05-14 | Switzerland, CH | PostTenebrasLab
- 2026-05-18 - 2026-05-23 | Amsterdam, 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
North America
- 2026-05-07 | New York, NY, US | Rust NYC
- 2026-05-07 | Saint Louis, MO, US | STL Rust
- 2026-05-09 | Boston, MA, US | Boston Rust Meetup
- 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
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
From a business standpoint, we should have reasonable confidence that it’ll stick around and be healthy for more than 10 years. We’d also like a robust ecosystem of code and tools that we can rely on, and experts we can hire.
– David Anderson on the tailscale blog
Thanks to Ivan Fraixedes 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