this-week-in-rust/content/2025-04-23-this-week-in-rus...

410 lines
29 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 Cant 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 dont think about rust either. Thats a compilers 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>