Title: This Week in Rust 593 Number: 593 Date: 2025-04-02 Category: This Week in Rust
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 on X (formerly Twitter) 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.
- Fjall 2.8
- EtherCrab, the pure Rust EtherCAT MainDevice, version 0.6 released
- A process for handling Rust code in the core kernel
- api-version: axum middleware for header based version selection
- Introducing Stringleton
- Rust Any Part 3: Finally we have Upcasts
- Towards fearless SIMD, 7 years later
- LLDB's TypeSystems: An Unfinished Interface
- Mutation Testing in Rust
- Solving the ABA Problem in Rust with Hazard Pointers
- Building a CoAP application on Ariel OS
- Inside ScyllaDB Rust Driver 1.0: A Fully Async Shard-Aware CQL Driver Using Tokio
- Building a search engine from scratch, in Rust: part 2
- Introduction to Monoio: A High-Performance Rust Runtime
- Getting started with Rust on Google Cloud
- An AlphaStation's SROM
- Real-World Verification of Software for Cryptographic Applications
- Public mdBooks
- [video] Networking in Bevy with ECS replication - Hennadii
- [video] Intermediate Representations for Reactive Structures - Pete
This week's crate is candystore, a fast, persistent key-value store that does not require LSM or WALs.
Thanks to Tomer Filiba for the self-suggestion!
Please submit your suggestions and votes for next week!
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, Rust language RFCs or Rustup.
Let us know if you would like your feature to be tracked as a part of this list.
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.
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 X (formerly Twitter) or Mastodon!
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 X (formerly Twitter) or Mastodon!
438 pull requests were merged in the last week
- allow defining opaques in statics and consts
- avoid wrapping constant allocations in packed structs when not necessary
- perform less decoding if it has the same syntax context
- stabilize
precise_capturing_in_traits
- uplift
clippy::invalid_null_ptr_usage
lint asinvalid_null_arguments
- allow spawning threads after TLS destruction
- override PartialOrd methods for bool
- simplify expansion for
format_args!()
- stabilize
const_cell
- new lint:
char_indices_as_byte_indices
- add
manual_dangling_ptr
lint - respect
#[expect]
and#[allow]
within function bodies formissing_panics_doc
- do not make incomplete or invalid suggestions
- do not warn about shadowing in a destructuring assigment
- expand
obfuscated_if_else
to support{then(), then_some()}.unwrap_or_default()
- fix the primary span of
redundant_pub_crate
when flagging nameless items - fix
option_if_let_else
suggestion when coercion requires explicit cast - fix
unnested_or_patterns
suggestion inlet
- make
collapsible_if
recognize thelet_chains
feature - make
missing_const_for_fn
operate on non-optimized MIR - more natural suggestions for
cmp_owned
collapsible_if
: prevent including preceeding whitespaces if line contains non blanks- properly handle expansion in
single_match
- validate paths in
disallowed_*
configurations
- allow crate authors to control completion of their things
- avoid relying on
block_def_map()
needlessly - fix debug sourceFileMap when using cppvsdbg
- fix
format_args
lowering using wrong integer suffix - fix a bug in orphan rules calculation
- fix panic in progress due to splitting unicode incorrectly
- use medium durability for crate-graph changes, high for library source files
Positive week, with a lot of primary improvements and just a few secondary regressions. Single big regression got reverted.
Triage done by @panstromek. Revision range: 4510e86a..2ea33b59
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
- | - | 0 |
Regressions ❌ (secondary) |
0.9% | [0.2%, 1.5%] | 17 |
Improvements ✅ (primary) |
-0.4% | [-4.5%, -0.1%] | 136 |
Improvements ✅ (secondary) |
-0.6% | [-3.2%, -0.1%] | 59 |
All ❌✅ (primary) | -0.4% | [-4.5%, -0.1%] | 136 |
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.
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
- Tracking Issue for slice::array_chunks
- Stabilize
cfg_boolean_literals
- Promise
array::from_fn is generated in order of increasing indices
- Stabilize
repr128
- Stabilize
naked_functions
- Fix missing const for inherent pointer
replace
methods
- No Items entered Final Comment Period this week for 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.
Rusty Events between 2025-04-02 - 2025-04-30 🦀
- 2025-04-02 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-04-03 | Virtual (Nürnberg, DE) | Rust Nurnberg DE
- 2025-04-03 | Virtual | Ardan Labs
- 2025-04-05 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-04-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-04-10 | Virtual (Berlin, DE) | Rust Berlin
- 2025-04-15 | Virtual (Washington, DC, US) | Rust DC
- 2025-04-16 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2025-04-17 | Virtual and In-Person (Redmond, WA, US) | Seattle Rust User Group
- 2025-04-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-04-23 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2025-04-24 | Virtual (Berlin, DE) | Rust Berlin
- 2025-04-24 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2025-04-05 | Bangalore/Bengaluru, IN | Rust Bangalore
- 2025-04-22 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
- 2025-04-02 | Cambridge, UK | Cambridge Rust Meetup
- 2025-04-02 | Köln, DE | Rust Cologne
- 2025-04-02 | München, DE | Rust Munich
- 2025-04-02 | Oxford, UK | Oxford Rust Meetup Group
- 2025-04-02 | Stockholm, SE | Stockholm Rust
- 2025-04-03 | Oslo, NO | Rust Oslo
- 2025-04-08 | Olomouc, CZ | Rust Moravia
- 2025-04-09 | Girona, ES | Rust Girona
- 2025-04-09 | Reading, UK | Reading Rust Workshop
- 2025-04-10 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2025-04-15 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2025-04-15 | London, UK | Women in Rust
- 2025-04-19 | Istanbul, TR | Türkiye Rust Community
- 2025-04-23 | London, UK | London Rust Project Group
- 2025-04-24 | Aarhus, DK | Rust Aarhus
- 2025-04-24 | Edinburgh, UK | Rust and Friends
- 2025-04-24 | Manchester, UK | Rust Manchester
- 2025-04-25 | Edinburgh, UK | Rust and Friends
- 2025-04-29 | Paris, FR | Rust Paris
- 2025-04-03 | Chicago, IL, US | Chicago Rust Meetup
- 2025-04-03 | Montréal, QC, CA | Rust Montréal
- 2025-04-03 | Saint Louis, MO, US | STL Rust
- 2025-04-06 | Boston, MA, US | Boston Rust Meetup
- 2025-04-08 | New York, NY, US | Rust NYC
- 2025-04-10 | Portland, OR, US | PDXRust
- 2025-04-14 | Boston, MA, US | Boston Rust Meetup
- 2025-04-17 | Nashville, TN, US | Music City Rust Developers
- 2025-04-17 | Redmond, WA, US | Seattle Rust User Group
- 2025-04-23 | Austin, TX, US | Rust ATX
- 2025-04-25 | Boston, MA, US | Boston Rust Meetup
- 2025-04-09 | Sydney, NS, AU | Rust Sydney
- 2025-04-14 | Christchurch, NZ | Christchurch Rust Meetup Group
- 2025-04-22 | Barton, AC, AU | Canberra Rust User Group
- 2025-04-03 | Buenos Aires, AR | Rust en Español
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.
Please see the latest Who's Hiring thread on r/rust
If you write a bug in your Rust program, Rust doesn’t blame you. Rust asks “how could the compiler have spotted that bug”.
– Ian Jackson blogging about Rust
Despite a lack of suggestions, llogiq is quite pleased with his choice.
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation