Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @thisweekinrust.bsky.social on Bluesky or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at [this-week-in-rust.org]…
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @thisweekinrust.bsky.social on Bluesky or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week’s issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
Project/Tooling Updates
Observations/Thoughts
- Emulating aarch64 in software using JIT compilation and Rust
- the core of rust
- Make the easy change hard
- Trying to get error backtraces in rust libraries right
- The unexpected productivity boost of Rust
- [audio] Netstack.FM — Episode 2: Hyper with Sean McArthur
Rust Walkthroughs
- Rust ints to Rust enums with less instructions
- GPUI Interactivity - Building a Counter App
- Rust for JavaScript Engineers - Building Connect-4
- Building a Plugin System for Rust: Native Libraries vs Scripting Language vs WASM vs Rules Engine
- Making a small Clippy lint
- Pest gotchas
- Shortcomings of Macros, And How To Overcome Them
- [video] Minimal Embedded FAT32 Driver - in Rust!
Miscellaneous
Crate of the Week
This week’s crate is web-route, a library to ergonomically define and manage web server routes in Rust.
Thanks to sidrubs for the self-suggestion!
Please submit your suggestions and votes for next week!
Calls for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization.
If you are a feature implementer and would like your RFC to appear in this list, add a call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
- No calls for testing were issued this week by Rust, Rust language RFCs, Cargo or Rustup. Let us know if you would like your feature to be tracked as a part of this list.
RFCs
Rust
Rustup
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.
- greptimedb - Add date and timestamp format to COPY TO (CSV, JSON)
- greptimedb - Add compression options to COPY TO
- greptimedb - Currently KILL cannot terminate queries like INSERT INTO SELECT 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!
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 or by reaching out on X (formerly Twitter) or Mastodon!
Updates from the Rust Project
553 pull requests were merged in the last week
Compiler
- demote x86_64-apple-darwin to Tier 2 with host tools
- rustc_expand: ensure stack in InvocationCollector::visit_expr
- account for impossible bounds making seemingly unsatisfyable dyn-to-dyn casts
- add lint against integer to pointer transmutes
- fix ICE when validating transmuting ZST to inhabited enum
- refactor attribute parsing to improve ergonomics and some diagnostics
- simplify span caches
- slightly optimize reading of source files
- miri: account for time spent tracing, use RDTSC for faster time
- miri: support weak definitions
Library
- UnsafePinned::raw_get: sync signature with get
- bufreader::Buffer::backshift: don’t move the uninit bytes
- experiment: reborrow trait
- fix parameter order for _by() variants of min / max/ minmax in std::cmp
- fmt of non-decimal radix untangled
- implementation: #[feature(nonpoison_rwlock)]
- stabilize const_array_each_ref
- stabilize const_pathbuf_osstring_new feature
- hashbrown: un-bloat get_inner functions to restore lookup performance
Cargo
Rustdoc
- add support for macro expansion in rustdoc source code pages
- make attributes render consistently
- render attributes in Field and Variants sections
Clippy
- clippy: bool_comparison: fix incorrect suggestion with >/< and macros
- clippy: bool_comparison: no longer lint on !x != y
- clippy: cast_slice_from_raw_parts: check for implicit cast to raw slice pointer
- clippy: ptr_as_ptr: fix incorrect suggestion with pointer::cast and macros
- clippy: too_many_lines: only highlight the function signature
- clippy: unnecessary_mut_passed: add structured suggestion
- clippy: unused_unit: don’t lint on closure return types
- clippy: better check for assign_op_pattern in const context
- clippy: check f16 and f128 in float_equality_without_abs
- clippy: detect infinite loop in async fn not returning !
- clippy: do not replace match by if if any arm contains a binding
- clippy: fix unnecessary_safety_comment not linting for the first line
- clippy: fix async_yields_async wrongly unmangled macros
- clippy: fix derivable_impls suggests wrongly on derive_const
- clippy: fix manual_is_ascii_check: also add explicit type when linting matches!
- clippy: fix or_then_unwrap: suggestion preserves macro calls
- clippy: fix semicolon_inside_block false positive when attribute over expr is not enabled
- clippy: fix unnested_or_patterns false positive on structs with only shorthand field pats
Rust-Analyzer
- rust-analyzer: replace_arith_op not applicable on selected
- rust-analyzer: add ReturnExpr completion suggest
- rust-analyzer: add let in let-chain completion support
- rust-analyzer: add an option to hide reborrows in adjustment inlay hints
- rust-analyzer: fix else completion in let _ = if x {} $0
- rust-analyzer: fix panic in syntax_highlighting
- rust-analyzer: fix rust-analyzer-contributors reference
- rust-analyzer: fix indentation in move_guard_to_arm_body
- rust-analyzer: fix opaque generics
- rust-analyzer: improve semicolon handling in toggle_macro_delimiter
- rust-analyzer: infinite recursion while lowering assoc type bounds from supertraits
- rust-analyzer: make import sorting order follow 2024 edition style
- rust-analyzer: masquerade as nightly cargo when invoking flycheck with -Zscript
- rust-analyzer: normalize all types when finishing inference
- rust-analyzer: remove unnecessary salsa::attach() calls
Rust Compiler Performance Triage
Lot of regressions this week, mostly in rustdoc benchmarks from newly added features. The rest of the suite saw mostly small regressions in small benchmarks and also some improvements, notably from token tree parsing optimization in macro code, span optimization and ongoing work on new solver, which is not fully enabled, yet.
Triage done by @panstromek. Revision range: 239e8b1b..ee361e8f
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ | |||
| (primary) | 3.7% | [0.3%, 34.5%] | 42 |
| Regressions ❌ | |||
| (secondary) | 2.3% | [0.0%, 53.3%] | 79 |
| Improvements ✅ | |||
| (primary) | -0.5% | [-0.7%, -0.3%] | 9 |
| Improvements ✅ | |||
| (secondary) | -0.9% | [-2.8%, -0.0%] | 30 |
| All ❌✅ (primary) | 3.0% | [-0.7%, 34.5%] | 51 |
5 Regressions, 1 Improvement, 7 Mixed; 6 of them in rollups 38 artifact comparisons made in total
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC: Promote aarch64-pc-windows-msvc to Tier 1 Every week, the team announces the ‘final comment period’ for RFCs and key PRs which are reaching a decision. Express your opinions now.
Tracking Issues & PRs
Rust
- Tracking Issue for NUL-terminated file names with #[track_caller]
- style-guide: Document absence of trailing whitespace
- Partial-stabilize the basics from bigint_helper_methods No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference or Unsafe Code Guidelines.
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
New and Updated RFCs
- [new] Supertrait Auto-impl
- [new] RFC: Autogenerated Attribute
Upcoming Events
Rusty Events between 2025-08-27 - 2025-09-24 🦀
Virtual
- 2025-08-28 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2025-08-28 | Virtual (Los Angeles, CA, US) | Rust Los Angeles
- AI-Powered Smart Contracts Workshop
- 2025-08-31 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Readers Discord Discussion: Rust Atomics and Locks
- 2025-09-02 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
- Buffalo Rust User Group
- 2025-09-02 - 2025-09-05 | Hybrid (Seattle, WA, US) | RustConf
- RustConf 2025
- 2025-09-02 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
- Buffalo Rust User Group
- 2025-09-03 | Virtual (Indianapolis, IN, US) | Indy Rust
- Indy.rs - with Social Distancing
- 2025-09-06 | Virtual (Kampala, UG) | Rust Circle Meetup
- Rust Circle Meetup
- 2025-09-07 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Readers Discord Discussion: Rust Atomics and Locks
- 2025-09-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Second Tuesday
- 2025-09-09 | Virtual (London, UK) | Women in Rust
- From First Lines to First Clients: Carol Nichols on Building a Career in Rust
- 2025-09-11 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2025-09-11 | Virtual (San Diego, CA, US) | San Diego Rust
- San Diego Rust September 2025 Online Meetup
- 2025-09-14 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Readers Discord Discussion: Rust Atomics and Locks
- 2025-09-15 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- Setup Tock OS in a virtual environment (online) - prep for Sep 17
- 2025-09-16 | Virtual (Washington, DC, US) | Rust DC
- Mid-month Rustful
- 2025-09-17 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- Rust Study/Hack/Hang-out
- 2025-09-18 | Virtual (Nürnberg, DE) | Rust Nuremberg
- Rust Nürnberg online
- 2025-09-23 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Fourth Tuesday
Africa
- 2025-09-09 | Johannesburg, ZA | Johannesburg Rust Meetup
- Rust by Example - Primitives and Custom Types
Asia
- 2025-09-13 | Hangzhou, CN | WebAssembly and Rust Meetup (Wasm Empowering AI)
- GOSIM AI Hangzhou 2025 (CFP is still open)
- 2025-09-13 - 2025-09-14 | Hangzhou, CN | GOSIM
- GOSIM Hangzhou 2025
- 2025-09-17 | Tel Aviv-yafo, IL | Rust 🦀 TLV
- In person Rust September 2025 at Varonis in Herzeliya
Europe
- 2025-08-27 | London, UK | Rust London User Group
- Async Rust & C++ Interop: RustConf Workshop Test Run with Aida Getoeva
- 2025-08-28 | Copenhagen, DK | Copenhagen Rust Community
- Rust meetup #60 sponsored by Bang & Olufsen
- 2025-08-28 | Edinburgh, UK | Rust and Friends
- Rust and Friends (evening pub)
- 2025-08-28 | Manchester, UK | Rust Manchester
- Rust Manchester August Code Night
- 2025-08-29 | Edinburgh, UK | Rust and Friends
- Rust and Friends (daytime coffee)
- 2025-08-30 | Stockholm, SE | Stockholm Rust
- Ferris’ Fika Forum #16
- 2025-09-03 | Edinburgh, UK | Rust and Friends
- Want a Squeezable / Modern / Helpful / Wide Language? Choose Four
- 2025-09-03 | Frankfurt, DE | Rust Rhein-Main
- From bugs to parallelism to future-proofing: What makes Rust different
- 2025-09-04 | Gdansk, PL | Rust Gdansk
- Rust Gdansk Meetup #10
- 2025-09-10 | Reading, UK | Reading Rust Workshop
- Reading Rust Meetup
- 2025-09-11 | Bern, CH | Rust Bern
- 2025 Rust Talks Bern #4 @Zühlke
- 2025-09-16 - 2025-09-18 | Berlin, DE | [Oxidize Conference] (https://oxidizeconf.com/)
- Oxidize Conference
- 2025-09-16 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- Topic TBD
- 2025-09-17 | Girona, ES | Rust Girona | Silicon Girona
- Rust Girona Hack & Learn 09 2025
- 2025-09-18 | Aarhus, DK | Rust Aarhus
- Talk Night at Mjølner Informatics
- 2025-09-24 | München, DE | Rust Munich
- Rust Munich 2025 / 3 - hybrid
North America
- 2025-08-27 | Austin, TX, US | Rust ATX
- Rust Lunch - Fareground
- 2025-08-28 | Atlanta, GA, US | Rust Atlanta
- We’re going again!
- 2025-08-28 | Chicago, IL, US | Chicago Rust Meetup
- Rust Happy Hour
- 2025-08-28 | Los Angeles, CA, US | Rust Los Angeles
- Rust in Web3 Meetup
- 2025-09-02 - 2025-09-05 | Hybrid (Seattle, WA, US) | RustConf
- RustConf 2025
- 2025-09-04 | Mountain View, CA, US | Hacker Dojo
- RUST MEETUP at HACKER DOJO
- 2025-09-03 | Phoenix, AZ, US | Desert Rust
- RustConf 2025 Watch Party (Day 1)
- 2025-09-04 | Mountain View, CA, US | Hacker Dojo
- RUST MEETUP at HACKER DOJO
- 2025-09-04 | Phoenix, AZ, US | Desert Rust
- RustConf 2025 Watch Party (Day 2)
- 2025-09-04 | Saint Louis, MO, US | STL Rust
- emulation of retro systems (NES, Gameboy) in Rust
- 2025-09-06 | Boston, MA, US | Boston Rust Meetup
- Beacon Hill Rust Lunch, Sep 6
- 2025-09-10 | Phoenix, AZ, US | Desert Rust
- Rust <> JS
- 2025-09-11 | Lehi, UT, US | Utah Rust
- Mazes and Graphs in Rust
- 2025-09-11 | Seattle, WA, US | Seattle Rust User Group
- September, 2025 SRUG (Seattle Rust User Group) Meetup
- 2025-09-14 | Boston, MA, US | Boston Rust Meetup
- Davis Square Rust Lunch, Sep 14
- 2025-09-16 | San Francisco, CA, US | San Francisco Rust Study Group
- Rust Hacking in Person
- 2025-09-17 | Charlottesville, VA, US | Charlottesville Rust Meetup
- Tick, Tock, talk—find out how Rust secures embedded devices | Online setup event Sep 15
- 2025-09-18 | Nashville, TN, US | Music City Rust Developers
- Rust on Bare Metal Series 3 : Place Holder
- 2025-09-18 | Seattle, WA, US | Seattle Rust User Group
- September, 2025 SRUG (Seattle Rust User Group) Meetup
- 2025-09-24 | Austin, TX, US | Rust ATX
- Rust Lunch - Fareground
Oceania
- 2025-08-27 - 2025-08-30 | Wellington, NZ | Rust Forge
- Rust Forge If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who’s Hiring thread on r/rust
Quote of the Week
I
clone()everything now. The Borrow Checker permits this small rebellion, this inefficiency. It knows I suffer more knowing my code is not idiomatic. Every.clone()is a confession of my failure. EveryArc<Mutex>a monument to my inadequacy.
– /u/TheEldenLorrdd on /r/rust
Thanks to Colin Terry for the suggestion!
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