this-week-in-rust/content/2024-07-03-this-week-in-rus...

382 lines
29 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 554
Number: 554
Date: 2024-07-03
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](https://x.com/ThisWeekInRust) on X(formerly Twitter) 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.
-->
### Official
* [Types Team Update and Roadmap](https://blog.rust-lang.org/2024/06/26/types-team-update.html)
### Project/Tooling Updates
* [Rustlings Rewrite](https://mo8it.com/blog/rustlings-rewrite/)
* [iroh 0.19.0 - Make it your own](https://iroh.computer/blog/iroh-0-19-make-it-your-own)
* [Announcing Polars 1.0](https://pola.rs/posts/announcing-polars-1/)
* [rust-analyzer changelog #240](https://rust-analyzer.github.io/thisweek/2024/07/01/changelog-240.html)
* [r3bl_cmdr v0.0.14 released](https://github.com/r3bl-org/r3bl-open-core/blob/main/CHANGELOG.md#v0014-2024-06-29)
* [r3bl_tui v0.5.6 released](https://github.com/r3bl-org/r3bl-open-core/blob/main/CHANGELOG.md#v056-2024-06-29)
* [Danube - Pub/Sub messaging broker](https://dev-state.com/posts/danube_intro/)
* [what-the-time 1.0.0](https://github.com/sdball/what-the-time/releases/tag/v1.0.0)
* [Meilisearch releases v1.9](https://blog.meilisearch.com/meilisearch-1-9/)
* [derive-deftly (the template-based derive macro facility) is nearing 1.x - call for review/testing](https://diziet.dreamwidth.org/18695.html)
### Observations/Thoughts
* [Ergonomic Self-Referential Types for Rust](https://blog.yoshuawuyts.com/self-referential-types/)
* [More thoughts on claiming](https://smallcultfollowing.com/babysteps/blog/2024/06/26/claim-followup-1/)
* [Async closures](https://hackmd.io/@compiler-errors/async-closures)
* [Rust has three reference types!](https://ssbr.xyz/blog/rust-has-three-reference-types/)
* [sans-IO: The secret to effective Rust for network services](https://www.firezone.dev/blog/sans-io)
* [audio] [OxidOS with Alexandru Radovici](https://corrode.dev/podcast/s02e05-oxidos/)
### Rust Walkthroughs
* [Resolving Rust Symbols](https://blog.shrirambalaji.com/posts/resolving-rust-symbols/)
* [#![doc = include_str!()] with intra-doc links](https://linebender.org/blog/doc-include/)
* [The Minimal Rust-Wasm Setup](https://dzfrias.dev/blog/rust-wasm-minimal-setup/)
* [Build with Naz : Markdown parser in Rust and nom from r3bl_tui](https://developerlife.com/2024/06/28/md-parser-rust-from-r3bl-tui/)
* [Adding compile-time safety to the AWS SDK with syn's Visit trait](https://medium.com/@sam.van.overmeire/adding-compile-time-safety-to-the-aws-sdk-with-syns-visit-trait-57bfbbac8677)
* [Adding GraphQL Support to Loco with Seaography](https://www.sea-ql.org/blog/2024-07-01-graphql-support-with-loco-seaography/)
* [Rust patterns: Don't put any code in mod.rs or lib.rs files](https://kerkour.com/rust-patterns-dont-put-code-in-lib-mod-files)
* [series] [Master Hexagonal Architecture in Rust (part 3): `Service`, the heart of hexagonal architecture](https://www.howtocodeit.com/articles/master-hexagonal-architecture-rust#service-the-heart-of-hexagonal-architecture)
### Miscellaneous
* [FizzBuzz Multithreaded - synchronization with rendezvous channels](https://firedbg.sea-ql.org/blog/2024-06-30-fizzbuzz-multithread/)
* [video] [Zelda Hessler discusses the AWS SDK for Rust](https://www.youtube.com/watch?v=-PTSJbUZ_Jo)
## Crate of the Week
This week's crate is [asak](https://github.com/chaosprint/asak), a terminal-based audio recording/playback TUI.
Despite a lamentable lack of suggestions this week, llogiq is reasonably pleased with his choice.
[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. The following
RFCs would benefit from user testing before moving forward:
### [RFCs](https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing)
* *No calls for testing were issued this week.*
### [Rust](https://github.com/rust-lang/rust/labels/call-for-testing)
* *No calls for testing were issued this week.*
### [Rustup](https://github.com/rust-lang/rustup/labels/call-for-testing)
* *No calls for testing were issued this week.*
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.
* [diesel- Add support for currently unsupported range operators and methods](https://github.com/diesel-rs/diesel/issues/4092)
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.
*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
408 pull requests were [merged in the last week][merged]
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2024-06-25..2024-07-02
* [`rustc_data_structures`: Explicitly check for 64-bit atomics support](https://github.com/rust-lang/rust/pull/127075)
* [add `()` to the `marker_impls` macro for `ConstParamTy`](https://github.com/rust-lang/rust/pull/127070)
* [add `.ignore` file to make `config.toml` searchable in vscode](https://github.com/rust-lang/rust/pull/126876)
* [add more constants, functions, and tests for `f16` and `f128`](https://github.com/rust-lang/rust/pull/126608)
* [ast: standardize visiting order](https://github.com/rust-lang/rust/pull/126993)
* [ast: standardize visiting order for attributes and node IDs](https://github.com/rust-lang/rust/pull/125741)
* [automatically taint InferCtxt when errors are emitted](https://github.com/rust-lang/rust/pull/126996)
* [avoid MIR bloat in inlining](https://github.com/rust-lang/rust/pull/127113)
* [avoid cloning jump threading state when possible](https://github.com/rust-lang/rust/pull/127024)
* [coverage: avoid getting extra unexpansion info when we don't need it](https://github.com/rust-lang/rust/pull/127157)
* [coverage: make `#[coverage(..)]` apply recursively to nested functions](https://github.com/rust-lang/rust/pull/126721)
* [de-duplicate all consecutive native libs regardless of their options](https://github.com/rust-lang/rust/pull/126943)
* [delegation: ast lowering refactor](https://github.com/rust-lang/rust/pull/126947)
* [deny `use<>` for RPITITs](https://github.com/rust-lang/rust/pull/126746)
* [detect unused structs which derived Default](https://github.com/rust-lang/rust/pull/126302)
* [do not ICE when suggesting dereferencing closure arg](https://github.com/rust-lang/rust/pull/126884)
* [don't ICE during RPITIT refinement checking for resolution errors after normalization](https://github.com/rust-lang/rust/pull/126968)
* [don't suggest awaiting in closure patterns](https://github.com/rust-lang/rust/pull/126915)
* [eliminate the distinction between `PREC_POSTFIX` and `PREC_PAREN` precedence level](https://github.com/rust-lang/rust/pull/126893)
* [enable const casting for `f16` and `f128`](https://github.com/rust-lang/rust/pull/127032)
* [fix `x86_64` code being produced for bare-metal LoongArch targets' `compiler_builtins`](https://github.com/rust-lang/rust/pull/127150)
* [fix an error suggestion for E0121 when using placeholder `_` as return types on function signature](https://github.com/rust-lang/rust/pull/127110)
* [fix bad replacement for unsafe extern block suggestion](https://github.com/rust-lang/rust/pull/126973)
* [prefer `(*p).clone` to `p.clone` if the `p` is a raw pointer](https://github.com/rust-lang/rust/pull/127114)
* [ignore `llvm::Lld` if lld is not enabled](https://github.com/rust-lang/rust/pull/126701)
* [implement new effects desugaring](https://github.com/rust-lang/rust/pull/120639)
* [improve unsafe extern blocks diagnostics](https://github.com/rust-lang/rust/pull/127106)
* [introduce a `rustc_` attribute to dump all the `DefId` parents of a `DefId`](https://github.com/rust-lang/rust/pull/127181)
* [less `maybe_whole_expr`, take 2](https://github.com/rust-lang/rust/pull/126571)
* [let's `#[expect]` some lints: Stabilize `lint_reasons` (RFC 2383)](https://github.com/rust-lang/rust/pull/120924)
* [linker: refactor interface for passing arguments to linker](https://github.com/rust-lang/rust/pull/126832)
* [make `feature(effects)` require `-Znext-solver`](https://github.com/rust-lang/rust/pull/127176)
* [make cargo submodule optional](https://github.com/rust-lang/rust/pull/126470)
* [mark assoc tys live only if the corresponding trait is live](https://github.com/rust-lang/rust/pull/126618)
* [move binder and polarity parsing into `parse_generic_ty_bound`](https://github.com/rust-lang/rust/pull/127103)
* [not use offset when there is not ends with brace](https://github.com/rust-lang/rust/pull/126868)
* [patchable-function-entry: add unstable compiler flag and attribute](https://github.com/rust-lang/rust/pull/124741)
* [print `TypeId` as a `u128` for `Debug`](https://github.com/rust-lang/rust/pull/127134)
* [un-unsafe the `StableOrd` trait](https://github.com/rust-lang/rust/pull/126326)
* [remove (deprecated & unstable) `{to,from}_bits` pointer methods](https://github.com/rust-lang/rust/pull/127071)
* [remove `f16` and `f128` ICE paths from smir](https://github.com/rust-lang/rust/pull/126983)
* [remove more `PtrToPtr` casts in GVN](https://github.com/rust-lang/rust/pull/126844)
* [remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr`](https://github.com/rust-lang/rust/pull/127073)
* [resolve: tweak some naming around import ambiguities](https://github.com/rust-lang/rust/pull/126954)
* [show used attribute's kind for user when find it isn't applied to a `static` variable](https://github.com/rust-lang/rust/pull/127118)
* [stall computing instance for drop shim until it has no unsubstituted const params](https://github.com/rust-lang/rust/pull/127068)
* [support fetching `Attribute` of items](https://github.com/rust-lang/rust/pull/127022)
* [switch back `non_local_definitions` lint to allow-by-default](https://github.com/rust-lang/rust/pull/127015)
* [tighten `fn_decl_span` for async blocks](https://github.com/rust-lang/rust/pull/127058)
* [transmute size check: properly account for alignment](https://github.com/rust-lang/rust/pull/125740)
* [tweak `FlatPat::new` to avoid a temporarily-invalid state](https://github.com/rust-lang/rust/pull/126932)
* [tweak a confusing comment in `create_match_candidates`](https://github.com/rust-lang/rust/pull/126926)
* [unify `dylib` and `bin_helpers` and create `shared_helpers::parse_value_from_args`](https://github.com/rust-lang/rust/pull/127108)
* [use `clang-format` in `tidy` to check the C++ code style under `llvm-wrapper`](https://github.com/rust-lang/rust/pull/123918)
* [use full expr span for return suggestion on type error/ambiguity](https://github.com/rust-lang/rust/pull/127129)
* [various `rustc_codegen_ssa` cleanups](https://github.com/rust-lang/rust/pull/123237)
* [various refactorings to `rustc_interface`](https://github.com/rust-lang/rust/pull/126834)
* [miri: `iter_exported_symbols`: also walk used statics in local crate](https://github.com/rust-lang/miri/pull/3723)
* [miri: remove GetCurrentProcessId's `frame_in_std` check](https://github.com/rust-lang/miri/pull/3716)
* [stabilize `PanicInfo::message()` and `PanicMessage`](https://github.com/rust-lang/rust/pull/126732)
* [stabilize `duration_abs_diff`](https://github.com/rust-lang/rust/pull/127128)
* [mark `Hasher::finish` as `#[must_use]`](https://github.com/rust-lang/rust/pull/127055)
* [std: separate TLS key creation from TLS access](https://github.com/rust-lang/rust/pull/126953)
* [cargo: allow `unexpected_builtin_cfgs` lint in `user_specific_cfgs` test](https://github.com/rust-lang/cargo/pull/14153)
* [cargo: gix: remove `revision` feature from cargo](https://github.com/rust-lang/cargo/pull/14160)
* [cargo: make it clear that `CARGO_CFG_TARGET_FAMILY` is multi-valued](https://github.com/rust-lang/cargo/pull/14165)
* [cargo: test: fix several assertions](https://github.com/rust-lang/cargo/pull/14167)
* [cargo: test: omit target-dir name](https://github.com/rust-lang/cargo/pull/14142)
* [cargo: test: replace glob with explicit unordered calls](https://github.com/rust-lang/cargo/pull/14166)
* [rustdoc: check if the disambiguator matches its suffix](https://github.com/rust-lang/rust/pull/127016)
* [clippy: `doc_lazy_continuation`: blank comment line for gap](https://github.com/rust-lang/rust-clippy/pull/13002)
* [clippy: add error message to `manual_inspect` lint](https://github.com/rust-lang/rust-clippy/pull/13006)
* [clippy: don't lint `assertions_on_constants` on any const assertions](https://github.com/rust-lang/rust-clippy/pull/12840)
* [clippy: fix `doc_markdown` DevOps false positive](https://github.com/rust-lang/rust-clippy/pull/12995)
* [clippy: implement a lint to replace manual bit rotations with `rotate_left/rot…`](https://github.com/rust-lang/rust-clippy/pull/12983)
* [rust-analyzer: do not normalize `use foo::{self}` to `use foo`](https://github.com/rust-lang/rust-analyzer/pull/17494)
* [rust-analyzer: add `bool_to_enum` assist for parameters](https://github.com/rust-lang/rust-analyzer/pull/17467)
* [rust-analyzer: completions after async kw](https://github.com/rust-lang/rust-analyzer/pull/17513)
* [rust-analyzer: fix expression scope calculation when within macro expansions](https://github.com/rust-lang/rust-analyzer/pull/17518)
* [rust-analyzer: pass cargo extra args when debugging](https://github.com/rust-lang/rust-analyzer/pull/17495)
* [rust-analyzer: quality of life improvements to term search](https://github.com/rust-lang/rust-analyzer/pull/17516)
* [rust-analyzer: use proper `ImplTraits` in `insert_inference_vars_for_impl_trait`](https://github.com/rust-lang/rust-analyzer/pull/17505)
### Rust Compiler Performance Triage
# 2024-07-02 Triage Log
We saw a large set of primary benchmarks regress, mostly due to PR #120924 (`lint_reasons` and `#[expect]`) and PR #120639 (new effects
desugaring). Separate from those, there are a couple rollup PRs (#127076, #127096) with some regressions that were limited to relatively few benchmarks; pnkfelix was unable to isolate a injecting PR that can be identified as a root cause (outside assistance welcome!).
Triage done by **@pnkfelix**.
Revision range: [c3d7fb39..cf2df68d](https://perf.rust-lang.org/?start=c3d7fb398569407350abe044e786bc7890c90397&end=cf2df68d1f5e56803c97d91e2b1a9f1c9923c533&absolute=false&stat=instructions%3Au)
4 Regressions, 3 Improvements, 11 Mixed; 7 of them in rollups
59 artifact comparisons made in total
[Full report here](https://github.com/rust-lang/rustc-perf/blob/903bfae931250761eadc291a8fe34c7c52003f82/triage/2024-07-02.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:
* [RFC: Unblock Cargo feature metadata](https://github.com/rust-lang/rfcs/pull/3416)
### 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.
#### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period)
* [disposition: merge] [RFC: #[derive(SmartPointer)]](https://github.com/rust-lang/rfcs/pull/3621)
#### Tracking Issues & PRs
##### [Rust](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
* [disposition: merge] [Tracking issue for const char conversions](https://github.com/rust-lang/rust/issues/89259)
* [disposition: merge] [Don't make statement nonterminals match pattern nonterminals](https://github.com/rust-lang/rust/pull/120221)
* [disposition: merge] [Allow `#[deny]` inside `#[forbid]` as a no-op](https://github.com/rust-lang/rust/pull/121560)
* [disposition: merge] [Tracking issue for function attribute `#[coverage]`](https://github.com/rust-lang/rust/issues/84605)
* [disposition: merge] [Bump `elided_lifetimes_in_associated_constant` to deny](https://github.com/rust-lang/rust/pull/124211)
* [disposition: merge] [Tracking Issue for `const_cstr_from_ptr`](https://github.com/rust-lang/rust/issues/113219)
* [disposition: merge] [Deny keyword lifetimes pre-expansion](https://github.com/rust-lang/rust/pull/126762)
##### [Cargo](https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
* *No Cargo Tracking Issues or PRs entered Final Comment Period this week.*
##### [Language Team](https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+)
* *No Language Team Tracking Issues or PRs entered Final Comment Period this week.*
##### [Language Reference](https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
* *No Language Reference Tracking Issues or PRs entered Final Comment Period this week.*
##### [Unsafe Code Guidelines](https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc)
* *No Unsafe Code Guideline Tracking Issues or PRs entered Final Comment Period this week.*
#### [New and Updated RFCs](https://github.com/rust-lang/rfcs/pulls)
* [new] [Async closures](https://github.com/rust-lang/rfcs/pull/3668)
## Upcoming Events
Rusty Events between 2024-07-03 - 2024-07-31 🦀
### Virtual
* 2024-07-03 | Virtual | [Training 4 Programmers LLC](https://www.eventbrite.com/o/training-4-programmers-llc-80387368983)
* [**Build Web Apps with Rust and Leptos**](https://www.eventbrite.com/e/build-web-apps-with-rust-and-leptos-tickets-904804503627?aff=odcleoeventsincollection)
* 2024-07-03 | Virtual (Indianapolis, IN, US) | [Indy Rust](https://www.meetup.com/indyrs/)
* [**Indy.rs - with Social Distancing**](https://www.meetup.com/indyrs/events/300328025/)
* 2024-07-04 | Virtual (Berlin, DE) | [OpenTechSchool Berlin](https://berline.rs/) + [Rust Berlin](https://www.meetup.com/rust-berlin/)
* [**Rust Hack and Learn**](https://meet.jit.si/RustHackAndLearnBerlin) | [**Mirror: Rust Hack n Learn Meetup**](https://www.meetup.com/rust-berlin/events/298488820/)
* 2024-07-06 | Virtual (Kampala, UG) | [Rust Circle Kampala](https://www.eventbrite.com/o/rust-circle-kampala-65249289033)
* [**Rust Circle Meetup**](https://www.eventbrite.com/e/rust-circle-meetup-tickets-628763176587)
* 2024-07-09 | Virtual | [Rust for Lunch](https://lunch.rs/)
* [**July 2024 Rust for Lunch**](https://lunch.rs/meetups/2024-07-09/)
* 2024-07-09 | Virtual (Dallas, TX, US) | [Dallas Rust](https://www.meetup.com/dallasrust/)
* [**Second Tuesday**](https://www.meetup.com/dallasrust/events/299346976/)
* 2024-07-10 | Virtual | [Centre for eResearch](https://www.eventbrite.co.nz/o/centre-for-eresearch-75893560993)
* [**Research Computing With The Rust Programming Language**](https://www.eventbrite.com/e/research-computing-with-the-rust-programming-language-tickets-908002037537?aff=ebdssbdestsearch&keep_tld=1)
* 2024-07-11 | Virtual (Charlottesville, NC, US) | [Charlottesville Rust Meetup](https://www.meetup.com/charlottesville-rust-meetup/)
* [**Crafting Interpreters in Rust Collaboratively**](https://www.meetup.com/charlottesville-rust-meetup/events/298897842/)
* 2024-07-11 | Hybrid - Virtual and In-person (Mexico City, DF, MX) | [Rust MX](https://www.meetup.com/rust-mx/)
* [**Programación de sistemas con Rust**](https://www.meetup.com/rust-mx/events/301740677/)
* 2024-07-11 | Virtual (Nürnberg, DE) | [Rust Nuremberg](https://www.meetup.com/rust-noris/)
* [**Rust Nürnberg online**](https://www.meetup.com/rust-noris/events/298076822/)
* 2024-07-11 | Virtual (Tel Aviv, IL) | [Code Mavens](https://www.meetup.com/code-mavens/)
* [**Reading JSON files in Rust (English)**](https://www.meetup.com/code-mavens/events/301636580/)
* 2024-07-16 | Virtual (Tel Aviv, IL) | [Code Mavens](https://www.meetup.com/code-mavens/)
* [**Web development in Rust using Rocket - part 2 (English)**](https://www.meetup.com/code-mavens/events/301736709/)
* 2024-07-17 | Hybrid - Virtual and In-person (Vancouver, BC, CA) | [Vancouver Rust](https://www.meetup.com/vancouver-rust/)
* [**Rust Study/Hack/Hang-out**](https://www.meetup.com/vancouver-rust/events/298631734/)
* 2024-07-18 | Virtual (Berlin, DE) | [OpenTechSchool Berlin](https://berline.rs/) + [Rust Berlin](https://www.meetup.com/rust-berlin/)
* [**Rust Hack and Learn**](https://meet.jit.si/RustHackAndLearnBerlin) | [**Mirror: Rust Hack n Learn Meetup**](https://www.meetup.com/rust-berlin/events/298488824/)
* 2024-07-23| Hybrid - Virtual and In-Person (München/Munich, DE) | [Rust Munich](https://www.meetup.com/rust-munich/)
* [**Rust Munich 2024 / 2 - hybrid**](https://www.meetup.com/rust-munich/events/298507657/)
* 2024-07-24 | Virtual | [Women in Rust](https://www.meetup.com/women-in-rust/)
* [**Lunch & Learn: Exploring Rust API Use Cases**](https://www.eventbrite.com/e/lunch-learn-exploring-rust-api-use-cases-tickets-928424531767)
* 2024-07-25 | Virtual (Charlottesville, NC, US) | [Charlottesville Rust Meetup](https://www.meetup.com/charlottesville-rust-meetup/)
* [**Crafting Interpreters in Rust Collaboratively**](https://www.meetup.com/charlottesville-rust-meetup/events/298897865/)
* 2024-07-27 | Hybrid - Virtual and In-Person (Kyiv, UA) | [UA Rust](https://uarust.com/)
* [**UARust Conference 2024**](https://uarust.com/)
* 2024-07-30 | Virtual (Dallas, TX, US) | [Dallas Rust](https://www.meetup.com/dallasrust/)
* [**Last Tuesday**](https://www.meetup.com/dallasrust/events/301585665/)
### Asia
* 2024-07-03 | Tokyo, JP | [Tokyo Rust Meetup](https://www.meetup.com/ja-JP/tokyo-rust-meetup/)
* [**I Was Understanding WASM All Wrong!**](https://www.meetup.com/ja-JP/tokyo-rust-meetup/events/301807832/)
### Europe
* 2024-07-10 | Reading, UK | [Reading Rust Workshop](https://rustworkshop.co/meetup/)
* [**Reading Rust Meetup - July**](https://www.meetup.com/reading-rust-workshop/events/301359031/)
* 2024-07-11 | Prague, CZ | [Rust Prague](https://www.meetup.com/rust-prague/)
* [**Rust Meetup Prague (July 2024)**](https://www.meetup.com/rust-prague/events/301227195)
* 2024-07-16 | Leipzig, DE | [Rust - Modern Systems Programming in Leipzig](https://www.meetup.com/rust-modern-systems-programming-in-leipzig)
* [**Building a REST API in Rust using Axum, SQLx and SQLite**](https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/301716171/)
* 2024-07-16 | Mannheim, DE | [Hackschool - Rhein-Neckar](https://www.meetup.com/hackschool-rhein-neckar)
* [**Nix Your Bugs & Rust Your Engines #4**](https://www.meetup.com/hackschool-rhein-neckar/events/301504325/)
* 2024-07-23 | Hybrid - Virtual and In-Person (München/Munich, DE) | [Rust Munich](https://www.meetup.com/rust-munich/)
* [**Rust Munich 2024 / 2 - hybrid**](https://www.meetup.com/rust-munich/events/298507657/)
* 2024-07-25 | Berlin, DE | [OpenTechSchool Berlin](https://berline.rs/) + [Rust Berlin](https://www.meetup.com/rust-berlin/)
* [**Rust and Tell - Title**](https://www.meetup.com/rust-berlin/events/299288967/)
* 2024-07-27 | Augsburg, DE | [Rust Meetup Augsburg](https://www.meetup.com/de-DE/rust-meetup-augsburg/)
* [**Augsburg Rust Meetup #8: Einführung in Machine Learning mit Rust**](https://www.meetup.com/rust-meetup-augsburg/events/301642385/)
* 2024-07-30 | Basel, CH | [Rust Basel](https://www.meetup.com/rust-basel)
* [**Rust Meetup #9**](https://www.meetup.com/rust-basel/events/301459503/)
### North America
* 2024-07-05 | Boston, MA, US | [Boston Rust Meetup](https://www.meetup.com/bostonrust/)
* [**Boston University Rust Lunch, July 5**](https://www.meetup.com/bostonrust/events/301549737/)
* 2024-07-11 | Hybrid - Mexico City, DF, MX | [Rust MX](https://www.meetup.com/rust-mx/)
* [**Programación de sistemas con Rust**](https://www.meetup.com/rust-mx/events/301740677/)
* 2024-07-11 | Mountain View, CA, US | [Mountain View Rust Meetup](https://www.meetup.com/mv-rust-meetup/)
* [**Rust Meetup at Hacker Dojo**](https://www.meetup.com/mv-rust-meetup/events/301613495/)
* 2024-07-17 | Hybrid - Vancouver, BC, CA | [Vancouver Rust](https://www.meetup.com/vancouver-rust/)
* [**Rust Study/Hack/Hang-out**](https://www.meetup.com/vancouver-rust/events/298631734/)
* 2024-07-18 | Nashville, TN, US | [Music City Rust Developers](https://www.meetup.com/music-city-rust-developers/)
* [**Music City Rust Developers : holding pattern**](https://www.meetup.com/music-city-rust-developers/events/301411794/)
* 2024-07-18 | Seattle, WA, US | [Seattle Rust User Group](https://www.meetup.com/seattle-rust-user-group/events/)
* [**Seattle Rust User Group Meetup**](https://www.meetup.com/seattle-rust-user-group/events/301883176/)
* 2024-07-24 | Austin, TX, US | [Rust ATC](https://www.meetup.com/rust-atx/)
* [**Rust Lunch - Fareground**](https://www.meetup.com/rust-atx/events/xvkdgtygckbgc/)
* 2024-07-27 | Hybrid - Virtual and In-Person (Kyiv, UA) | [UA Rust](https://uarust.com/)
* [**UARust Conference 2024**](https://uarust.com/)
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/1cixuzr/official_rrust_whos_hiring_thread_for_jobseekers/)
# Quote of the Week
> the compiler usually doesn't complain about \[you\] doing undefined behavior because it doesn't know that you're doing undefined behavior.
[Nilstrieb on GitHub](https://github.com/rust-lang/rust/issues/125658#issuecomment-2135511362)
Thanks to [scottmcm](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1589) 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), [andrewpollack](https://github.com/andrewpollack), [U007D](https://github.com/U007D), [kolharsam](https://github.com/kolharsam), [joelmarcey](https://github.com/joelmarcey), [mariannegoldin](https://github.com/mariannegoldin), [bennyvasquez](https://github.com/bennyvasquez).*
*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/1duvbdp/this_week_in_rust_554_this_week_in_rust/)</small>