410 lines
29 KiB
Markdown
410 lines
29 KiB
Markdown
Title: This Week in Rust 596
|
||
Number: 596
|
||
Date: 2025-04-23
|
||
Category: This Week in Rust
|
||
|
||
Hello and welcome to another issue of *This Week in Rust*!
|
||
[Rust](https://www.rust-lang.org/) 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](https://bsky.app/profile/thisweekinrust.bsky.social) on Bluesky or
|
||
[@ThisWeekinRust](https://mastodon.social/@thisweekinrust) on mastodon.social, or
|
||
[send us a pull request](https://github.com/rust-lang/this-week-in-rust).
|
||
Want to get involved? [We love contributions](https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md).
|
||
|
||
*This Week in Rust* is openly developed [on GitHub](https://github.com/rust-lang/this-week-in-rust) and archives can be viewed at [this-week-in-rust.org](https://this-week-in-rust.org/).
|
||
If you find any errors in this week's issue, [please submit a PR](https://github.com/rust-lang/this-week-in-rust/pulls).
|
||
|
||
Want TWIR in your inbox? [Subscribe here](https://this-week-in-rust.us11.list-manage.com/subscribe?u=fd84c1c757e02889a9b08d289&id=0ed8b72485).
|
||
|
||
## Updates from Rust Community
|
||
|
||
<!--
|
||
|
||
Dear community contributors:
|
||
Please read README.md for guidance on submissions.
|
||
Each submitted link should be of the form:
|
||
|
||
* [Title of the Linked Page](https://example.com/my_article)
|
||
|
||
If you don't know which category to use, feel free to submit a PR anyway
|
||
and just ask the editors to select the category.
|
||
|
||
-->
|
||
|
||
### Foundation
|
||
* [Project Director Update — April 2025](https://rustfoundation.org/media/project-director-update-april-2025/)
|
||
|
||
### Project/Tooling Updates
|
||
* [Gitoxide April 2025](https://github.com/GitoxideLabs/gitoxide/discussions/1966)
|
||
* [Askama and Rinja merge](https://blog.guillaume-gomez.fr/articles/2025-03-19+Askama+and+Rinja+merge)
|
||
* [rust-analyzer changelog #282](https://rust-analyzer.github.io/thisweek/2025/04/21/changelog-282.html)
|
||
|
||
### Observations/Thoughts
|
||
* [Two ways of interpreting visibility in Rust](https://kobzol.github.io/rust/2025/04/23/two-ways-of-interpreting-visibility-in-rust.html)
|
||
* [Does using Rust really make your software safer? - Blog - Tweede golf](https://tweedegolf.nl/en/blog/152/does-using-rust-really-make-your-software-safer)
|
||
* [Body::poll_progress](https://seanmonstar.com/blog/body-poll-progress/)
|
||
* [ratatui: are we embedded yet?](https://jslazak.com/are-we-embedded-yet-0/)
|
||
* [Zig -> allocators -> Rust ergonomics](https://www.capturedlambda.dev/blog/zig-allocators-rust_ergo/)
|
||
* [Marching Events: What does iCalendar have to do with ray marching?](https://pwy.io/posts/marching-events/)
|
||
* [audio] [Nushell with WindSoilder](https://rustacean-station.org/episode/windsoilder/)
|
||
* [audio] [Microsoft with Victor Ciura](https://corrode.dev/podcast/s04e01-microsoft/)
|
||
|
||
### Rust Walkthroughs
|
||
* [Implementation of Rust panics in the standard library](https://fractalfir.github.io/generated_html/rustc_codegen_clr_v0_2_2.html)
|
||
* [How a GraphQL DataLoader works](https://swatinem.de/blog/graphql-dataloader-part1/)
|
||
* [Implementing a GraphQL DataLoader the hard way](https://swatinem.de/blog/graphql-dataloader-part2/)
|
||
|
||
## Crate of the Week
|
||
|
||
This week's crate is [Maycoon](https://maycoon-ui.github.io/), an experimental vello/wGPU-based UI framework.
|
||
|
||
Thanks to [DraftedDev](https://users.rust-lang.org/t/crate-of-the-week/2704/1431) for the self-suggestion!
|
||
|
||
[Please submit your suggestions and votes for next week][submit_crate]!
|
||
|
||
[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704
|
||
|
||
## 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](https://github.com/rust-lang/rust/labels/call-for-testing),
|
||
[Rust language RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing) or
|
||
[Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing).*
|
||
|
||
[Let us know](https://github.com/rust-lang/this-week-in-rust/issues) if you would like your feature to be tracked as a part of this list.
|
||
|
||
### [RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing)
|
||
|
||
### [Rust](https://github.com/rust-lang/rust/labels/call-for-testing)
|
||
|
||
### [Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing)
|
||
|
||
If you are a feature implementer and would like your RFC to appear on the above list, add the new `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.
|
||
|
||
## 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.
|
||
|
||
<!-- CFPs go here, use this format: * [project name - title of issue](URL to issue) -->
|
||
<!-- * [ - ]() -->
|
||
<!-- or if none - *No Calls for participation were submitted this week.* -->
|
||
|
||
If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines] or through a [PR to TWiR](https://github.com/rust-lang/this-week-in-rust) or by reaching out on [X (formerly Twitter)](https://x.com/ThisWeekInRust) or [Mastodon](https://mastodon.social/@thisweekinrust)!
|
||
|
||
[guidelines]:https://github.com/rust-lang/this-week-in-rust?tab=readme-ov-file#call-for-participation-guidelines
|
||
|
||
### 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.
|
||
|
||
<!-- CFPs go here, use this format: * [**event name**](URL to CFP)| Date CFP closes in YYYY-MM-DD | city,state,country | Date of event in YYYY-MM-DD -->
|
||
<!-- or if none - *No Calls for papers or presentations were submitted this week.* -->
|
||
|
||
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](https://github.com/rust-lang/this-week-in-rust) or by reaching out on [X (formerly Twitter)](https://x.com/ThisWeekInRust) or [Mastodon](https://mastodon.social/@thisweekinrust)!
|
||
|
||
## Updates from the Rust Project
|
||
|
||
465 pull requests were [merged in the last week][merged]
|
||
|
||
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-04-15..2025-04-22
|
||
|
||
#### Compiler
|
||
|
||
* [avoid overflow when generating debuginfo for expanding recursive types](https://github.com/rust-lang/rust/pull/138599)
|
||
* [deref patterns: implement implicit deref patterns](https://github.com/rust-lang/rust/pull/138528)
|
||
* [fix wrong "move keyword" suggestion for async gen block](https://github.com/rust-lang/rust/pull/139871)
|
||
* [improve parse errors for stray lifetimes in type position](https://github.com/rust-lang/rust/pull/139854)
|
||
* [make `#[naked]` an unsafe attribute](https://github.com/rust-lang/rust/pull/139753)
|
||
* [rewrite `on_unimplemented` format string parser](https://github.com/rust-lang/rust/pull/139091)
|
||
|
||
#### Miri
|
||
|
||
* [miri: implement file deletion on Windows](https://github.com/rust-lang/miri/pull/4260)
|
||
* [miri: use std-declared intrinsics rather than copying the declaration](https://github.com/rust-lang/miri/pull/4274)
|
||
|
||
#### Library
|
||
|
||
* [add `next_index` to Enumerate](https://github.com/rust-lang/rust/pull/139533)
|
||
* [add retries to remove and create dir all](https://github.com/rust-lang/rust/pull/139870)
|
||
* [`sync::mpsc`: prevent double free on `Drop`](https://github.com/rust-lang/rust/pull/139553)
|
||
* [implement `Default` for raw pointers](https://github.com/rust-lang/rust/pull/139535)
|
||
* [implement `pin!()` using `super let`](https://github.com/rust-lang/rust/pull/139114)
|
||
* [stabilize `-Zdwarf-version` as `-Cdwarf-version`](https://github.com/rust-lang/rust/pull/136926)
|
||
* [stabilize `cfg_boolean_literals`](https://github.com/rust-lang/rust/pull/138632)
|
||
* [stabilize `naked_functions`](https://github.com/rust-lang/rust/pull/134213)
|
||
* [simd intrinsics with mask: accept unsigned integer masks, and fix some of the errors](https://github.com/rust-lang/rust/pull/137953)
|
||
* [add `vec_extract`, `vec_insert`, `vec_promote` and `vec_insert_and_zero`](https://github.com/rust-lang/stdarch/pull/1772)
|
||
|
||
#### Cargo
|
||
|
||
* [use `zlib-rs` for gzip compression in rust code](https://github.com/rust-lang/cargo/pull/15417)
|
||
|
||
#### Rustdoc
|
||
|
||
* [fix error when an intra doc link is trying to resolve an empty associated item](https://github.com/rust-lang/rust/pull/140052)
|
||
* [rustdoc-json: output target feature information](https://github.com/rust-lang/rust/pull/139393)
|
||
* [support inlined cross-crate re-exported trait aliases](https://github.com/rust-lang/rust/pull/139943)
|
||
|
||
#### Clippy
|
||
|
||
* [clippy: `bool_to_int_with_if`: properly handle macros](https://github.com/rust-lang/rust-clippy/pull/14629)
|
||
* [clippy: `empty_enum_variants_with_brackets`: Do not lint reachable enums and `enum` variants used as functions in the same crate](https://github.com/rust-lang/rust-clippy/pull/12971)
|
||
* [clippy: `iter_kv_map`: recognize references on maps as well](https://github.com/rust-lang/rust-clippy/pull/14596)
|
||
* [clippy: `manual_ok_err`: don't lint subpatterns](https://github.com/rust-lang/rust-clippy/pull/14661)
|
||
* [clippy: `match_single_binding`: allow macros in scrutinee and patterns](https://github.com/rust-lang/rust-clippy/pull/14635)
|
||
* [clippy: `missing_asserts_for_indexing`: consider `assert_eq!()` as well](https://github.com/rust-lang/rust-clippy/pull/14258)
|
||
* [clippy: `ptr_cast_constness`: show snippet from the right context](https://github.com/rust-lang/rust-clippy/pull/14622)
|
||
* [clippy: build complete usable type from a type-relative prefix](https://github.com/rust-lang/rust-clippy/pull/14586)
|
||
* [clippy: check for lifetime uses in closures as well](https://github.com/rust-lang/rust-clippy/pull/14608)
|
||
* [clippy: do not recurse forever in `significant_drop_tightening`](https://github.com/rust-lang/rust-clippy/pull/14641)
|
||
* [clippy: fix `question_mark` suggesting when type is behind Deref include parentheses](https://github.com/rust-lang/rust-clippy/pull/14655)
|
||
* [clippy: fix: `unnecessary_lazy_evaluations` suggests wrongly for async closure](https://github.com/rust-lang/rust-clippy/pull/14644)
|
||
* [clippy: make `borrow_as_ptr` flag implicit casts as well](https://github.com/rust-lang/rust-clippy/pull/14408)
|
||
* [clippy: new lint: `redundant_test_prefix`](https://github.com/rust-lang/rust-clippy/pull/13710)
|
||
* [clippy: new lint: `swap_with_temporary`](https://github.com/rust-lang/rust-clippy/pull/14046)
|
||
* [clippy: replace interning of string literals with preinterned symbols](https://github.com/rust-lang/rust-clippy/pull/14650)
|
||
|
||
#### Rust-Analyzer
|
||
|
||
* [rust-analyzer: add semicolon to use](https://github.com/rust-lang/rust-analyzer/pull/19604)
|
||
* [rust-analyzer: allow training PGO on a custom crate and enable it Windows on CI](https://github.com/rust-lang/rust-analyzer/pull/19585)
|
||
* [rust-analyzer: allow using `null` to unset an environment variable](https://github.com/rust-lang/rust-analyzer/pull/19629)
|
||
* [rust-analyzer: build aarch64 builds on CI with PGO](https://github.com/rust-lang/rust-analyzer/pull/19597)
|
||
* [rust-analyzer: don't ignore config values that fail to parse](https://github.com/rust-lang/rust-analyzer/pull/19628)
|
||
* [rust-analyzer: add `pub(crate) mod` option for unlinked files](https://github.com/rust-lang/rust-analyzer/pull/19590)
|
||
* [rust-analyzer: allow unsetting env vars in `server.extraEnv` config](https://github.com/rust-lang/rust-analyzer/pull/19634)
|
||
* [rust-analyzer: enhance signature help to display generic parameters for callables and default values for generic args](https://github.com/rust-lang/rust-analyzer/pull/19596)
|
||
* [rust-analyzer: parse `super let`](https://github.com/rust-lang/rust-analyzer/pull/19653)
|
||
* [rust-analyzer: parse generic consts](https://github.com/rust-lang/rust-analyzer/pull/19643)
|
||
* [rust-analyzer: `Extract into` function include inline variable in fmt macro](https://github.com/rust-lang/rust-analyzer/pull/19588)
|
||
* [rust-analyzer: fix `completion_snippets_custom` config always erroring](https://github.com/rust-lang/rust-analyzer/pull/19636)
|
||
* [rust-analyzer: fix a bug with predicate lowering of associated items](https://github.com/rust-lang/rust-analyzer/pull/19612)
|
||
* [rust-analyzer: fix a panic when a trait method in an impl declares a lifetime parameter not in the trait declaration](https://github.com/rust-lang/rust-analyzer/pull/19613)
|
||
* [rust-analyzer: highlighting for tail expr in labelled blocks](https://github.com/rust-lang/rust-analyzer/pull/19589)
|
||
* [rust-analyzer: sort notable traits in hover](https://github.com/rust-lang/rust-analyzer/pull/19619)
|
||
* [rust-analyzer: support unstable `UnsafePinned struct` in type layout calc](https://github.com/rust-lang/rust-analyzer/pull/19650)
|
||
* [rust-analyzer: use PGO on Linux x64 builds](https://github.com/rust-lang/rust-analyzer/pull/19595)
|
||
* [rust-analyzer: use PGO on macOS x64 and arm64 builds](https://github.com/rust-lang/rust-analyzer/pull/19611)
|
||
|
||
### Rust Compiler Performance Triage
|
||
|
||
Mostly positive week. Most of the improvements come from a revert of a regression from a few weeks ago, but we also get nice wins from re-using Sized fast-path, coming from Sized hierarchy implementation work.
|
||
|
||
Triage done by **@panstromek**.
|
||
Revision range: [15f58c46..8f2819b0](https://perf.rust-lang.org/?start=15f58c46da79399961a09db0c650a2f90f442e6b&end=8f2819b0e3428d0aee05fa60e91e0211c2aea053&absolute=false&stat=instructions%3Au)
|
||
|
||
**Summary**:
|
||
|
||
| (instructions:u) | mean | range | count |
|
||
|:----------------------------------:|:-----:|:---------------:|:-----:|
|
||
| Regressions ❌ <br /> (primary) | 1.3% | [0.4%, 2.1%] | 7 |
|
||
| Regressions ❌ <br /> (secondary) | - | - | 0 |
|
||
| Improvements ✅ <br /> (primary) | -1.0% | [-12.9%, -0.1%] | 144 |
|
||
| Improvements ✅ <br /> (secondary) | -2.2% | [-12.3%, -0.2%] | 111 |
|
||
| All ❌✅ (primary) | -0.9% | [-12.9%, 2.1%] | 151 |
|
||
|
||
[Full report here](https://github.com/rust-lang/rustc-perf/blob/eaf0e22c56f793258767947dc4e4ecc750f662f3/triage/2025-04-22.md)
|
||
|
||
### [Approved RFCs](https://github.com/rust-lang/rfcs/commits/master)
|
||
|
||
Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These
|
||
are the RFCs that were approved for implementation this week:
|
||
|
||
* *No RFCs were approved this week.*
|
||
|
||
### Final Comment Period
|
||
|
||
Every week, [the team](https://www.rust-lang.org/team.html) announces the 'final comment period' for RFCs and key PRs
|
||
which are reaching a decision. Express your opinions now.
|
||
|
||
#### Tracking Issues & PRs
|
||
##### [Rust](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
|
||
* [Stabilize `<[T; N]>::as_mut_slice` as `const`](https://github.com/rust-lang/rust/pull/140066)
|
||
* [Tracking Issue for `hint::select_unpredictable`](https://github.com/rust-lang/rust/issues/133962)
|
||
* [fix(test): Expose '--no-capture' in favor of `--nocapture`](https://github.com/rust-lang/rust/pull/139224)
|
||
* [stabilize ptr::swap_nonoverlapping in const](https://github.com/rust-lang/rust/pull/137280)
|
||
* [Stabilize the avx512 target features](https://github.com/rust-lang/rust/pull/138940)
|
||
* [Don't allow flattened format_args in const.](https://github.com/rust-lang/rust/pull/139624)
|
||
* [lexer: Treat more floats with empty exponent as valid tokens](https://github.com/rust-lang/rust/pull/131656)
|
||
* [Stabilize proc_macro::Span::{start,end,line,column}.](https://github.com/rust-lang/rust/pull/139865)
|
||
* [check types of const param defaults](https://github.com/rust-lang/rust/pull/139646)
|
||
* [Stabilize flags for doctest cross compilation](https://github.com/rust-lang/rust/pull/137096)
|
||
|
||
#### Other Areas
|
||
##### [Cargo](https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
|
||
* [fix: default to all targets when using `--edition` and `--edition-idioms` in cargo fix](https://github.com/rust-lang/cargo/pull/15192)
|
||
|
||
##### [Language Reference](https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
|
||
* [Clarify interaction of asm-goto with IBT](https://github.com/rust-lang/reference/pull/1790)
|
||
|
||
*No Items entered Final Comment Period this week for
|
||
[Rust RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period),
|
||
[Language Team](https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+) or
|
||
[Unsafe Code Guidelines](https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc).*
|
||
|
||
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](https://github.com/rust-lang/rfcs/pulls)
|
||
* [RFC: Disable niche layout optimization on enum discriminants](https://github.com/rust-lang/rfcs/pull/3803)
|
||
* [RFC: Assume bounds for generic functions](https://github.com/rust-lang/rfcs/pull/3802)
|
||
* [RFC: input macros](https://github.com/rust-lang/rfcs/pull/3799)
|
||
|
||
## Upcoming Events
|
||
|
||
Rusty Events between 2025-04-23 - 2025-05-21 🦀
|
||
|
||
### Virtual
|
||
* 2025-04-23 | Virtual (Cardiff, UK) | [Rust and C++ Cardiff](https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/)
|
||
* [**Beyond embedded - OS development in Rust**](https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/307036053)
|
||
* 2025-04-24 | Virtual (Berlin, DE) | [Rust Berlin](https://www.meetup.com/rust-berlin/events/)
|
||
* [**Rust Hack and Learn**](https://www.meetup.com/rust-berlin/events/300820299)
|
||
* 2025-04-24 | Virtual (Charlottesville, VA, US) | [Charlottesville Rust Meetup](https://www.meetup.com/charlottesville-rust-meetup/events/)
|
||
* [**Part 2: Quantum Computers Can’t Rust-Proof This!"**](https://www.meetup.com/charlottesville-rust-meetup/events/306679733)
|
||
* 2025-05-03 | Virtual (Kampala, UG) | [Rust Circle Meetup](https://www.eventbrite.com/o/rust-circle-kampala-65249289033)
|
||
* [**Rust Circle Meetup**](https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587)
|
||
* 2025-05-05 | Virtual (Tel Aviv-Yafo, IL) | [Rust 🦀 TLV](https://www.meetup.com/rust-tlv/events/)
|
||
* [**Tauri: Cross-Platform desktop applications with Rust and web technologies**](https://www.meetup.com/rust-tlv/events/307178592/)
|
||
* 2025-05-07 | Virtual (Indianapolis, IN, US) | [Indy Rust](https://www.meetup.com/indyrs/events/)
|
||
* [**Indy.rs - with Social Distancing**](https://www.meetup.com/indyrs/events/302031663)
|
||
* 2025-05-07 | Virtual (Rotterdam, NL) | [Bevy Game Development](https://www.meetup.com/bevy-game-development/events/)
|
||
* [**Bevy Meetup #10**](https://www.meetup.com/bevy-game-development/events/307354690)
|
||
* 2025-05-08 | Virtual (Berlin, DE) | [Rust Berlin](https://www.meetup.com/rust-berlin/events/)
|
||
* [**Rust Hack and Learn**](https://www.meetup.com/rust-berlin/events/300820300)
|
||
* 2025-05-13 | Virtual (Dallas, TX, US) | [Dallas Rust User Meetup](https://www.meetup.com/dallasrust/events/)
|
||
* [**Second Tuesday**](https://www.meetup.com/dallasrust/events/305020415)
|
||
* 2025-05-15 | Virtual (Berlin, DE) | [Rust Berlin](https://www.meetup.com/rust-berlin/events/)
|
||
* [**🦀 Celebrating 10 years of Rust 1.0 🦀**](https://www.meetup.com/rust-berlin/events/307293317) | [**Livestream**](https://berline.rs/)
|
||
* 2025-05-20 | Virtual (Washington, DC, US) | [Rust DC](https://www.meetup.com/rustdc/events/)
|
||
* [**Mid-month Rustful**](https://www.meetup.com/rustdc/events/305170826)
|
||
* 2025-05-21 | Virtual (Vancouver, BC, CA) | [Vancouver Rust](https://www.meetup.com/vancouver-rust/events/)
|
||
* [**Rust Study/Hack/Hang-out**](https://www.meetup.com/vancouver-rust/events/307184332)
|
||
|
||
### Europe
|
||
* 2025-04-23 | London, UK | [London Rust Project Group](https://www.meetup.com/london-rust-project-group/events/)
|
||
* [**Fusing Python with Rust using raw C bindings**](https://www.meetup.com/london-rust-project-group/events/306644439)
|
||
* 2025-04-24 | Aarhus, DK | [Rust Aarhus](https://www.meetup.com/rust-aarhus/events/)
|
||
* [**Talk Night and Birthday Party at MFT Energy**](https://www.meetup.com/rust-aarhus/events/305809344)
|
||
* 2025-04-24 | Copenhagen, DK | [Copenhagen Rust Community](https://www.meetup.com/copenhagen-rust-community/events/)
|
||
* [**Rust meetup #57**](https://www.meetup.com/copenhagen-rust-community/events/307340144)
|
||
* 2025-04-24 | Edinburgh, UK | [Rust and Friends](https://www.meetup.com/rust-edi/events/)
|
||
* [**Rust and Friends (evening pub)**](https://www.meetup.com/rust-and-friends/events/306911347)
|
||
* 2025-04-24 | Manchester, UK | [Rust Manchester](https://www.meetup.com/rust-manchester/events/)
|
||
* [**Rust Manchester April Code Night**](https://www.meetup.com/rust-manchester/events/306899063)
|
||
* 2025-04-25 | Edinburgh, UK | [Rust and Friends](https://www.meetup.com/rust-edi/events/)
|
||
* [**Rust and Friends (daytime coffee)**](https://www.meetup.com/rust-and-friends/events/306911357)
|
||
* 2025-04-26 | Stockholm, SE | [Stockholm Rust](https://www.meetup.com/stockholm-rust/events/)
|
||
* [**Ferris' Fika Forum #11**](https://www.meetup.com/stockholm-rust/events/307164617)
|
||
* 2025-04-29 | London, UK | [Rust London User Group](https://www.meetup.com/rust-london-user-group/events/)
|
||
* [**LDN Talks April 2025 Community Showcase**](https://www.meetup.com/rust-london-user-group/events/307212039)
|
||
* 2025-04-29 | Paris, FR | [Rust Paris](https://www.meetup.com/rust-paris/events/)
|
||
* [**Rust meetup #76**](https://www.meetup.com/rust-paris/events/306952202)
|
||
* 2025-04-30 | Frankfurt, DE | [Rust Rhein-Main](https://www.meetup.com/rust-rhein-main/events/)
|
||
* [**Kubernetes Operator in Rust**](https://www.meetup.com/rust-rhein-main/events/306772838)
|
||
* 2025-05-01 | Nürnberg, DE | [Rust Nuremberg](https://www.meetup.com/rust-noris/events/)
|
||
* [**Hackers Hike 0x0**](https://www.meetup.com/rust-noris/events/305522254)
|
||
* 2025-05-04 | Istanbul, TR | [Türkiye Rust Community](https://kommunity.com/turkiye-rust-community/events)
|
||
* [**Rust Connect**](https://kommunity.com/turkiyerust/events/rust-connect-91f7b3a6)
|
||
* 2025-05-06 - 2025-05-07 | Paris, FR | [WebAssembly and Rust Meetup](https://www.meetup.com/wasm-rust-meetup/)
|
||
* [**GOSIM AI Paris 2025**](https://www.meetup.com/wasm-rust-meetup/events/306530699/)
|
||
* 2025-05-06 | Paris, FR | [WebAssembly and Rust Meetup (Wasm Empowering AI)](https://www.meetup.com/wasm-rust-meetup/events/)
|
||
* [**GOSIM AI Paris 2025 (Discount available)**](https://www.meetup.com/wasm-rust-meetup/events/306530699)
|
||
* 2025-05-07 | Madrid, ES | [MadRust](https://www.meetup.com/madrust/events/)
|
||
* [**VII Lenguajes, VII Perspectivas, I Problema**](https://www.meetup.com/madrust/events/307030185)
|
||
* 2025-05-07 | Oxford, UK | [Oxford Rust Meetup Group](https://www.meetup.com/oxford-rust-meetup-group/events/)
|
||
* [**Oxford Rust and C++ social**](https://www.meetup.com/oxford-rust-meetup-group/events/306541571)
|
||
* 2025-05-08 | Gdansk, PL | [Rust Gdansk](https://www.meetup.com/rust-gdansk/events/)
|
||
* [**Rust Gdansk Meetup #8**](https://www.meetup.com/rust-gdansk/events/307281434)
|
||
* 2025-05-08 | London, UK | [London Rust Project Group](https://www.meetup.com/london-rust-project-group/events/)
|
||
* [**Adopting Rust (Hosted by Lloyds bank)**](https://www.meetup.com/london-rust-project-group/events/307085179)
|
||
* 2025-05-13 - 2025-05-17 | Utrecht, NL | [Rust NL](https://rustweek.org/about)
|
||
* [**RustWeek 2025**](https://rustweek.org)
|
||
* 2025-05-14 | Reading, UK | [Reading Rust Workshop](https://www.meetup.com/reading-rust-workshop/events/)
|
||
* [**Reading Rust Meetup**](https://www.meetup.com/reading-rust-workshop/events/305045447)
|
||
* 2025-05-16 | Utrecht, NL | [Rust NL Meetup Group](https://www.meetup.com/rust-nederland/)
|
||
* [**RustWeek Hackathon**](https://www.meetup.com/rust-nederland/events/307107584/)
|
||
* 2025-05-20 | Aarhus, DK | [Rust Aarhus](https://www.meetup.com/rust-aarhus/events/)
|
||
* [**Hack Night - Robot Edition**](https://www.meetup.com/rust-aarhus/events/307289572)
|
||
* 2025-05-20 | Leipzig, SN, DE | [Rust - Modern Systems Programming in Leipzig](https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/)
|
||
* [**Topic TBD**](https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/305741635)
|
||
|
||
### North America
|
||
* 2025-04-23 | Austin, TX, US | [Rust ATX](https://www.meetup.com/rust-atx/events/)
|
||
* [**Rust Lunch - Fareground**](https://www.meetup.com/rust-atx/events/307089940)
|
||
* 2025-04-23 | Austin, TX, US | [Rust ATX](https://www.meetup.com/rust-atx/events/)
|
||
* [**Rust Lunch - Fareground**](https://www.meetup.com/rust-atx/events/xvkdgtyhcgbfc)
|
||
* 2025-04-23 | Spokane, WA, US | [Spokane Rust](https://www.meetup.com/spokane-rust/events/)
|
||
* [**Community Show & Tell at Fuel Coworking**](https://www.meetup.com/spokane-rust/events/307228157)
|
||
* 2025-04-24 | Atlanta, GA, US | [Rust Atlanta](https://www.meetup.com/rust-atl/events/)
|
||
* [**3rd 3RD TIME OMG YES!**](https://www.meetup.com/rust-atl/events/307152133)
|
||
* 2025-04-25 | Boston, MA, US | [Boston Rust Meetup](https://www.meetup.com/bostonrust/events/)
|
||
* [**Ball Square Rust Lunch, Apr 25**](https://www.meetup.com/bostonrust/events/306844343)
|
||
* 2025-05-01 | Saint Louis, MO, US | [STL Rust](https://www.meetup.com/stl-rust/events/)
|
||
* [**SIUE Capstone Project reflections on Rust**](https://www.meetup.com/stl-rust/events/304026152)
|
||
* 2025-05-03 | Boston, MA, US | [Boston Rust Meetup](https://www.meetup.com/bostonrust/events/)
|
||
* [**Boston Common Rust Lunch, May 3**](https://www.meetup.com/bostonrust/events/306845368)
|
||
* 2025-05-08 | México City, MX | [Rust MX](https://www.meetup.com/rust-mx/events/)
|
||
* [**Calculando con el compilador: Compiler time vs Run time. Introducción a uv**](https://www.meetup.com/rust-mx/events/307015601)
|
||
* 2025-05-08 | Portland, OR, US | [PDXRust](https://www.meetup.com/pdxrust/events/)
|
||
* [**Apache DataFusion: A Fast, Extensible, Modular Analytic Query Engine in Rust**](https://www.meetup.com/pdxrust/events/307288436)
|
||
* 2025-05-11 | Boston, MA, US | [Boston Rust Meetup](https://www.meetup.com/bostonrust/events/)
|
||
* [**Porter Square Rust Lunch, May 11**](https://www.meetup.com/bostonrust/events/306845728)
|
||
* 2025-05-15 | Nashville, TN, US | [Music City Rust Developers](https://www.meetup.com/music-city-rust-developers/events/)
|
||
* [**Using Rust For Web Series 2 : Why you, Yes You. Should use Hyperscript!**](https://www.meetup.com/music-city-rust-developers/events/304333101)
|
||
* 2025-05-15 | Redmond, WA, US | [Seattle Rust User Group](https://www.meetup.com/join-srug/events/)
|
||
* [**May, 2025 SRUG (Seattle Rust User Group) Meetup**](https://www.meetup.com/seattle-rust-user-group/events/305658468)
|
||
* 2025-05-20 | San Francisco, CA, US | [San Francisco Rust Study Group](https://www.meetup.com/san-francisco-rust-study-group/events/)
|
||
* [**Rust Hacking in Person**](https://www.meetup.com/san-francisco-rust-study-group/events/307337307)
|
||
|
||
### South America
|
||
* 2025-05-28 | Montevideo, DE, UY | [Rust Meetup Uruguay](https://www.meetup.com/rust-uruguay/events/)
|
||
* [**Primera meetup de Rust en 2025!**](https://www.meetup.com/rust-uruguay/events/307341567)
|
||
|
||
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][community] for access.
|
||
|
||
[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com
|
||
[community]: mailto:community-team@rust-lang.org
|
||
|
||
## Jobs
|
||
<!--
|
||
|
||
Rust Jobs:
|
||
|
||
TWiR has stopped featuring individual job postings. You can read more about this change here:
|
||
|
||
https://github.com/rust-lang/this-week-in-rust/issues/3412
|
||
|
||
-->
|
||
|
||
Please see the latest [Who's Hiring thread on r/rust](https://www.reddit.com/r/rust/comments/1jttzz4/official_rrust_whos_hiring_thread_for_jobseekers/)
|
||
|
||
# Quote of the Week
|
||
|
||
> I don’t think about rust either. That’s a compiler’s job
|
||
|
||
– [Steve Klabnik on Bluesky](https://bsky.app/profile/steveklabnik.com/post/3lmtavr5ni22l)
|
||
|
||
Thanks to [Matt Wismer](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1677) for the suggestion!
|
||
|
||
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
|
||
|
||
*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), [cdmistman](https://github.com/cdmistman), [ericseppanen](https://github.com/ericseppanen), [extrawurst](https://github.com/extrawurst), [U007D](https://github.com/U007D), [joelmarcey](https://github.com/joelmarcey), [mariannegoldin](https://github.com/mariannegoldin), [bennyvasquez](https://github.com/bennyvasquez), [bdillo](https://github.com/bdillo)*
|
||
|
||
*Email list hosting is sponsored by [The Rust Foundation](https://foundation.rust-lang.org/)*
|
||
|
||
<small>[Discuss on r/rust](https://www.reddit.com/r/rust/comments/1k6ijof/this_week_in_rust_596/)</small>
|