This Week in Rust 655
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
- How Josh helps Rust manage code across multiple repositories
- Maintainer spotlight: Tiffany Pek Yuan (@tiif)
Newsletters
- This Month in Rust OSDev: May 2026
- The Embedded Rustacean Issue #73
Project/Tooling Updates
- Announcing stdx, Rust's extended standard library
- OmniScope 0.2.0 released:FFI static detection tool based on LLVM IR
- Announcing Asterinas 0.18.0
- Oryxis SSH 0.8: split panes
- Ratatui 0.30.1 is released - a Rust library for cooking up terminal user interfaces
- @utoo/pack: A Next-Generation Build Tool Based on Turbopack
- Pico de Gallo - a USB-attached protocol bridge for developing embedded-hal drivers on your laptop
- kache 0.5.0: designing a correct compile-cache key
- Announcing smb2: a very fast pure-Rust SMB2/3 client
Observations/Thoughts
- Only Bounds
- Porting our Django backend to Rust improved the infra usage by 90%
- Decimal Crates Comparison and Benchmark | Chinese version
- TeaQL Robot Task Board: a Rust TUI showcase for auditable business workflows
- [video] Rayon is NOT for games - use this instead
- [audio] Veo with Anders Hellerup Madsen and Gorm Casper
Rust Walkthroughs
- [series] Who Runs Your Rust Future? Hands-On Intro to Async Rust
- Extend MySQL Using Rust
- Learn Rust Smart Pointers and Interior Mutability by Building Git Commit Graph Viewer
- heap underflow: classic algorithm solutions in idiomatic Rust, runnable in the browser
Crate of the Week
This week's crate is rustion, a SSH bastion server.
Thanks to handewo 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.
- cuda-oxide Windows fork - test the Windows MSVC release on more CUDA/Windows setups
- 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
- reliakit - add a typed_csv example to the umbrella crate
- reliakit - implement CsvField for char
- reliakit - implement CsvField for the core::net address types
- reliakit - write a short "which resilience block do I use?" guide
- reliakit - extract a reusable rolling-window counter from RollingBreaker
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
526 pull requests were merged in the last week
Compiler
- add extern "tail" calling convention
- add very basic "comptime" fn implementation
- avoid unreachable_code on required return values
- cleanup and optimize render_impls
- macros: report unbound metavariables directly
- rewrite rustc_span::symbol::Interner to avoid double hashing
- staticlib hide internal symbols
Library
- add APIs for case folding to the standard library
- add _value API for number literals in proc-macro
- further optimize SliceIndex impl for Range
- improve TLS codegen by marking the panic/init path as cold
- perf: use get_unchecked for TwoWaySearcher
- stabilize PathBuf::into_string
- stabilize Result::map_or_default and Option::map_or_default
Cargo
- strip CR from cargo:token-from-stdout
Rustdoc
- IXCRE: preserve sizedness bounds on type params belonging to the parent item
- don't link doc(hidden) associated type projections
- fix trait impl ordering
- render impl restriction
Clippy
- support iter_mut in ITER_NEXT_SLICE
- borrowed_box: clean-up, improve suggestion message
- double_must_use: make the lint machine-applicable in single-attribute case
- iter_cloned_collect: split off the suggestion from the main message
- add manual_isolate_lowest_one lint
- detect more ranges in single_range_in_vec_init
- do not trigger inline_trait_bounds on auto-derived code
- extend extra_unused_lifetimes for spurious for<'a>
- large_const_arrays: check nested large arrays
- fix explicit_counter_loop false positive when the counter is only modified inside the else block of let...else binding
- fix result_large_err and result_unit_err not triggering on async functions
- fix unused_async_trait_impl suggestions with return statements
- fix lints duplications in unknown_attribute and renamed_builtin_attr
- obtaining the metadata of a const pointer is a const operation
- perf: avoid cloning associated items in empty_line_after
- perf: skip the boxed_local walk for functions without a Box parameter
- perf: skip the inline_always relevance walk for items without the attribute
Rust-Analyzer
- feat(diagnostics): emit error for infer vars in non-inference contexts
- adopt uv's AI policy
- distribute windows builts with mimalloc
- lower field defaults to rustc_type_ir::Consts
- RunnableKind::Test should map to project_json::RunnableKind::TestOne
- extract_function misses &mut for container[i].mut_method()
- do not emit a "type annotations needed" error on include_bytes!() where the array length cannot be inferred
- no generate unused generic params in trait sign
- parse OR pattern types
- rename schema subItems with sub_items
- implement rust-analyzer/evaluatePredicate lsp extension
- parse unnamed enum variants
Rust Compiler Performance Triage
A fairly noisy week, with a bunch of small regressions contained within, leading to a slight increase on average in instruction counts. This week had a lot of large rollups, likely due to some CI problems, but thankfully many of those came with pre-triaged perf results by the time (thank you to those triagers!). Roughly similar slight regressions for cycles and wall times across the week.
Triage done by @simulacrum. Revision range: 4804ad7e..f3ef3bd8
2 Regressions, 0 Improvements, 10 Mixed; 5 of them in rollups 32 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:
- #![register_{attribute,lint}_tool]
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
- Document panic in RangeInclusive::from(legacy::RangeInclusive)
- Tracking Issue for explicit-endian String::from_utf16
- Tracking Issue for substr_range and related methods
- Decide and document where stdarch intrinsics are allowed to diverge from asm behavior
- Document that ManuallyDrop's Box interaction has been fixed
- Add temporary scope to assert_eq and assert_ne
- Clean up crate type names to fix dylib vs staticlib confusion
- Add T: PartialEq bounds to derived StructuralPartialEq impls.
- stabilize feature float_algebraic
Compiler Team (MCPs only)
- Deny todo!() in tidy
Leadership Council
- Rust All Hands 2027
No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference 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
- RFC for convenient, explicit closure capture using move($expr) expressions
Upcoming Events
Rusty Events between 2026-06-10 - 2026-07-08 🦀
Virtual
- 2026-06-10 | Virtual (Girona, ES) | Rust Girona
- Weekly coding session
- 2026-06-12 | Virtual (Kenya, KE) | RustaceansKenya
- RUST FOR CIVIC TECH
- 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
- 2026-07-02 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2026-07-02 | Virtual (Nürnberg, DE) | Rust Nuremberg
- Rust Nürnberg online
- 2026-07-05 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Deep Learning: First Sunday
- 2026-07-07 | Virtual (London, GB) | Women in Rust
- 👋 Community Catch Up
Europe
- 2026-06-10 | Köln, DE | Rust Cologne
- Rust in June: Speedy Rust
- 2026-06-10 | München, DE | Rust Munich
- Rust Munich 2026 / 2 - Hacking Evening
- 2026-06-11 | Berlin, DE | Rust Berlin
- Rust Berlin on location 🏳️🌈 - Edition 014
- 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-18 | Barcelona, ES | BcnRust
- 21st BcnRust Meetup
- 2026-06-19 | Dresden, DE | Rust Dresden
- Second Meetup
- 2026-06-23 | Paris, FR | Rust Paris
- Rust meetup #86
- 2026-06-23 | Warsaw, PL | Rust Warsaw
- Rust Warsaw Meetup: June 2026
- 2026-06-25 | Berlin, DE | Rust Berlin
- Rust Berlin Talks: The next generation
- 2026-07-02 | Edinburgh, GB | Rust and Friends
- Bevy, Bits, & Cats (Rust July Talks)
- 2026-07-02 | Enschede, OV, NL | Baseflow Tech Meetups
- AI Summit
- 2026-07-08 | Dublin, IE | Rust Dublin
- Join us live and INPERSON for Rust 261
North America
- 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
- 2026-07-02 | Saint Louis, MO, US | STL Rust
- Git is easy?
Oceania
- 2026-06-11 | Brisbane City, QL, AU | Rust Brisbane
- Rust Brisbane • June 2026
- 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
It's a footgun, yes, but it's a sound footgun.
– Prof. Dr. Ralf Jung on github
Thanks to Theemathas 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