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.
Official
Newsletters
- The Embedded Rustacean Issue #54
- Rust Trends Issue #70: Foundation Moves and Performance Breakthroughs
Project/Tooling Updates
- Cot v0.4: Particularly Lazy
- Announcing Diesel 2.3
- A Sneak Peek at SeaORM 2.0
- Announcing Pingoo: The fast and secure Load Balancer / API Gateway with built-in service discovery and WAF
- Rerun 0.25.0 - Syntax highlighting, table filtering, transparent objects
- Introducing Obelisk 0.24.1
- Introducing CurveForge
- Swiftide 0.31
- hotpath 0.2.5 - a simple performance and memory profiler
Observations/Thoughts
- The pirate-based logic of Rust shared references
- Embedded async debugging and inspect-embassy
- Be Simple
- Why We Built Our Own SQL Parser From Scratch: A Rust Implementation Story
- Comparing transitive dependency version resolution in Rust and Java
- Trade-offs in designing DSLs
- Rust Algorithm Bites – Validating a Binary Search Tree
- Rust on Android - Lessons from the Edge
Rust Walkthroughs
- Axum Backend Series: Docker, Database and Connection Pooling
- The Hidden Rules Behind Rust Functions & Closures
- Rust unit testing: asynchronous code
- Ray Tracing in One Weekend - In Rust
- New Schematic - How to save $327.6 million using Rust
- [series] Real Time Clock - Rust Embedded Drivers Book
Miscellaneous
- [audio] Netstack.FM — A Podcast About Networking and Rust
- [video] Jan David Nose Interview, Rust Infrastructure Team (Rust Project Content @ RustConf 2025)
- August 2025 Rust Jobs Report
- The Symbiosis Of Rust And Arm: A Conversation With David Wood
Crate of the Week
This week’s crate is asciinema, a well-known command-line tool for recording, replaying and streaming terminal sessions recently rewritten in Rust.
Despite a lack of suggestions, llogiq is plenty happy with his choice.
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.
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 - Automatically infer enum definitions 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
379 pull requests were merged in the last week
Compiler
- implement #[rustc_align_static(N)] on statics
- move more early buffered lints to dyn lint diagnostics
- make AssocItem aware of its impl kind
- match clang’s va_arg assembly on arm targets
- reject invalid literal suffixes in tuple indexing, tuple struct indexing, and struct field name position
- sort array trait implementation suggestions correctly
- strip frontmatter in fewer places
- miri: fix release/scquire synchonization for loads from the store buffer
- miri: make a basic hello world work on wasip2
Library
- constify Eq, Ord, PartialOrd
- implement Sum and Product for f16 and f128
- inclusive Ranges: change end to last
- make Barrier RefUnwindSafe again
- stabilize BTree{Map,Set}::extract_if
- support integer literals in ${concat()}
Cargo
- cli: Allow completions for third-party subcommand names
- completer: Added completion for –features flag
- complete: Show local crates/features over other members
- frontmatter: Try alternative len code fences
- manifest: Show error source to users
- publish: Switch the ‘ctrl-c on wait’ line to a help message
Rustdoc
Clippy
- elidable_lifetime_names: avoid overlapping spans in suggestions
- len_zero: don’t eagerly call GenericArgs::type_at
- multiple_unsafe_ops_per_block: ignore unsafe ops from .await desugaring
- needless_closure: don’t lint on AsyncFn*s
- needless_return: fix false positive with cfgd code after return
- ref_option: don’t lint in external and proc-macros
- semicolon_inside_block: don’t lint if block is in parens
- use_self: don’t early-return if the outer type has no lifetimes
- add suggestion to cast_sign_loss and cast_possible_wrap using the cast_{un,}signed() methods
- fix as_underscore to only suggest when it’s suggestable
- fix invalid_upcast_comparisons wrongly unmangled macros
- fix useless_attribute false positive on deprecated_in_future
- recognize canonical ? pattern with Result
Rust-Analyzer
- add more workaround hacks for incorrect startup diagnostics
- fix LifetimeParam::lifetime_bounds invalid implement
- fix extra semicolon before else in let-stmt
- fix indent for unresolved_field fixes
- always coerce in a cast, even when there are unknown types
- don’t mark unknown type as implementing every notable trait
- don’t output an empty generic parameters list in generate_function
- don’t trigger two flychecks when saving files that are part of targets
- fix expand macro recursively not working correctly for nested macro calls
- fix normalization in the new solver
- infinite loop while elaborting predicates
- make #[target_feature] always safe on WASM
- more precise clause filtering for explicit_*_predicates_of
- only compute unstable paths on nightly toolchains for IDE features
- resolve paths to snapshot test libraries absolutely
- migrate InferenceTable into next-solver
Rust Compiler Performance Triage
Difficult week to interpret, because a positive change in #145910 performs a bit worse in our benchmarks than it would in the real world. Overall result is probably still slightly negative, because there’s more work from added features. On the other hand, we also have a nice improvement in reducing the number of query dependencies in compiler’s incremental system in #145186.
Triage done by @panstromek. Revision range: f13ef0d7..52618eb3
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ | |||
| (primary) | 0.5% | [0.2%, 2.7%] | 72 |
| Regressions ❌ | |||
| (secondary) | 0.7% | [0.0%, 3.5%] | 96 |
| Improvements ✅ | |||
| (primary) | -0.5% | [-0.9%, -0.1%] | 10 |
| Improvements ✅ | |||
| (secondary) | -0.8% | [-2.9%, -0.1%] | 41 |
| All ❌✅ (primary) | 0.4% | [-0.9%, 2.7%] | 82 |
1 Regression, 1 Improvement, 6 Mixed; 3 of them in rollups 36 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:
- No RFCs were approved this week. Every week, the team announces the ‘final comment period’ for RFCs and key PRs which are reaching a decision. Express your opinions now.
Tracking Issues & PRs
Rust
- Allow &raw [mut | const] for union field in safe code
- Deny-by-default never type lints
- Opportunistically split != to successfully parse never type
- Allow specifying multiple bounds for same associated item, except in trait objects
- rustdoc: hide #[repr] if it isn’t part of the public ABI No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference, Leadership Council 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
- RFC: #[cfg(since(rust, “1.95”))] for Rust-version conditional compilation
- Mitigation enforcement
- RFC for #[stable(since)]
Upcoming Events
Rusty Events between 2025-09-17 - 2025-10-15 🦀
Virtual
- 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
- 2025-09-25 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2025-09-28 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Readers Discord Discussion: Macros
- 2025-10-01 | Virtual (Indianapolis, IN, US) | Indy Rust
- Indy.rs - with Social Distancing
- 2025-10-04 | Virtual (Kampala, UG) | Rust Circle Meetup
- Rust Circle Meetup
- 2025-10-05 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Readers Discord Discussion: Macros
- 2025-10-07 | Virtual (Beijing, CN) | WebAssembly and Rust Meetup (Wasm Empowering AI)
- Monthly WasmEdge Community Meeting, the runtime for LLM/AGI
- 2025-10-09 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2025-10-09 - 2025-10-10 | Hybrid (Paris, FR) | EuroRust
- EuroRust 2025
- 2025-10-12 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Readers Discord Discussion: Macros
- 2025-10-14 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Second Tuesday
- 2025-10-15 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- Rust Study/Hack/Hang-out
Asia
- 2025-09-17 | Tel Aviv-yafo, IL | Rust 🦀 TLV
- In person Rust September 2025 at Varonis in Herzeliya
- 2025-10-02 | Seoul, KR | Seoul Rust (Programming Language) Meetup
- Seoul Rust Meetup
- 2025-10-04 | Bangalore, IN | Rust Bangalore
- October 2025 Rustacean meetup
- 2025-10-08 | Kuala Lumpur, MY | Rust Malaysia
- Malaysia Rust Meetup
- 2025-10-09 | Tokyo, JP | Tokyo Rust Meetup
- Building Pocket-Sized Terminal UIs with Rust
Europe
- 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-23 | Paris, FR | Rust Paris
- Rust meetup #78
- 2025-09-24 | Göteborg, SE | Rust Göteborg
- Rust Gbg — September 2025
- 2025-09-24 | München, DE | Rust Munich
- Rust Munich 2025 / 3 - hybrid
- 2025-09-25 | Augsburg, DE | Rust Augsburg
- Augsburg Rust Meetup #15
- 2025-09-25 | London, UK | Women in Rust
- Women in Rust x Scala: Functional Programming in Rust & Streams with Aquascape
- 2025-09-27 | Stockholm, SE | Stockholm Rust
- Ferris’ Fika Forum #18
- 2025-09-30 | London, UK | Rust London User Group
- LDN Talks September 2025 Community Showcase
- 2025-10-01 | Olomouc, CZ | Rust Moravia
- 4. Rust Moravia Meetup (In the capital!)
- 2025-10-02 | Oslo, NO | Rust Oslo
- Rust Hack’n’Learn at Kampen Bistro
- 2025-10-08 | Paris, FR | Rust Paris
- Rust meetup #79
- 2025-10-08 | Girona, ES | Rust Girona | Silicon Girona
- Rust Girona Hack & Learn 10 2025
- 2025-10-08 | Reading, UK | Reading Rust Workshop
- Reading Rust Meetup
- 2025-10-09 - 2025-10-10 | Hybrid (Paris, FR) | EuroRust
- EuroRust 2025
- 2025-10-14 | Basel, CH | Rust Basel
- Rust Meetup #13 @ letsboot
North America
- 2025-09-18 | Seattle, WA, US | Seattle Rust User Group
- September, 2025 SRUG (Seattle Rust User Group) Meetup
- 2025-09-20 | Boston, MA, US | Boston Rust Meetup
- Boston University Rust Lunch, Sep 20
- 2025-09-21 | Detroit, MI, US | Detroit Rust
- Detroit Rust Hacking Hangout
- 2025-09-24 | Austin, TX, US | Rust ATX
- Rust Lunch - Fareground
- 2025-09-24 | Charlottesville, VA, US | Charlottesville Rust Meetup
- Tick, Tock, talk—find out how Rust secures embedded devices
- 2025-09-24 | Chicago, IL, US | Chicago Rust Meetup
- RustConf Recap - The Inside Scoop!
- 2025-09-24 | New York, NY, US | Rust NYC
- Rust NYC: Rust/Python Interop & DB Design
- 2025-09-25 | Atlanta, GA, US | Rust Atlanta
- Rust-Atl At Manuels Tavern
- 2025-09-25 | Nashville, TN, US | Music City Rust Developers
- Rust on Bare Metal Series 3 : Series Finale
- 2025-09-27 | Boston, MA, US | Boston Rust Meetup
- MIT Rust Lunch, Sep 27
- 2025-09-30 | Boston, MA, US | Boston Rust Meetup
- Evening Boston Rust Meetup with Bevy and Isograph, September 30
- 2025-10-02 | Saint Louis, MO, US | STL Rust
- 🚁 Rust in Flight: Lessons from Designing a 3D‑Printed Quadcopter with Embedded
- 2025-10-04 | Boston, MA, US | Boston Rust Meetup
- North End Rust Lunch, Oct 4
Oceania:
- 2025-10-01 | Perth, WA, AU | Rust Perth Meetup Group
- October Meetup 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
Real Question: is an array a struct/tuple, or is it an enum?
Thanks to Theemathas 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