Feed: This Week in Rust
This Week in Rust 📃
This Week in Rust 673
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.
Updates from Rust Community
Official
Foundation
Newsletters
Project/Tooling Updates
Observations/Thoughts
- All code will converge on Rust
- Why 'externalized' proofs of cyclic trait impls does not work
- Visualizing crossbeam Epoch Based Reclamation
- How Signal and WhatsApp deploy Rust to billions of Android and iOS devices
- An update on Rust's project goals
- Analyzing Rust programs with Charon
- Owning C types from Rust code
- [Video] RustConf 2025 Interview: Manish Goregaokar, Rust Devtools
Rust Walkthroughs
- [JA] 同じ質問に2回お金を払うのをやめた: LLM の前に置くだけの重複排除プロキシを Rust (Tokio) で作った
- Using TrustZone-M in Rust on the Raspberry Pi Pico 2
- Writing a hypermedia app in Rust
- Custom structs as Tree Nodes
- How to Profile Rust Performance using Grafana and Prometheus
- [Video] RustCurious lesson 11: Reborrowing and Rust's Invisible Lifetimes
- [Video] BAML’s Rust-Powered Telemetry: 1000× Faster & Lossless
- [Video] Fuzz Testing a Discrete Event Simulator
Crate of the Week
This week's crate is hotcode, a crate for hot-reloading Rust functions at runtime.
Thanks to alordash 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, Cargo, Rustup or Rust language RFCs.
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.
No Calls for participation were submitted this week.
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 Bluesky 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 Bluesky or Mastodon!
Updates from the Rust Project
603 pull requests were merged in the last week
Compiler
- allow unary operand types to be inferred later
- avoid cloning impl trait AST nodes in late resolution
- avoid double-checking
self.bound_vars'len in ValidateBoundVars' TypeVisitor impl - check
is_indirect_first_projectionwhen replacing in RefProp - implement
clone_fromforBorrowckDomain - MIR move elimination (3/6): PreciseLiveness
- perf: cache FFI safety results in
improper_ctypeslint - reserve more capacity for Symbol interner
- skip runtime fma detection when enabled at compile time on
x86_64 - stabilize the WebAssembly
wide-arithmeticfeature - stabilize
optimizeattribute - treat union fields as aliasing each other in
value_analysis
Library
- add
fs::rename_noreplace - directly deallocates the nodes instead of traversing every element when BTreemap dropping
- fast path for
BTreeMap::Iter::next - make
NonNull::{read,write}_volatileunstably const - stabilize
ptr::try_cast_aligned - vectorized
vec::deduppre-scan
Cargo
- avoid absolute paths in fingerprints if they are relative to the workspace root
- fix: cargo installing from a directory source fails for binary packages with no dependencies
config: Don't process includes forcredentials.tomlfilesgit: Add future-incompat warning in prep for removing auto-detectionhints: support minimum optimization levelsjob: Allow explicit child process breakaway on Windowslayout: exclude a build-dir created as a parent from backupsmock-std: Set stable crate versions to 0.0.0pkgid-spec: Builtin package spec parsing and formatting- refactor: modernize some API usages for 1.99
- restrict workspace-relative dep-info to workspace packages
rustdoc: suppress edition unspecified warningstest: mark requiring ssh for tests shelling out to it
Rustdoc
- fix more
incoherent_impllinking - prefer local paths over remote ones when foreign item is locally reexported
- check reexport chain if inline before hidden
Clippy
- configuration: add
too_long_first_doc_paragraphlint to thecheck-private-itemslist - do not trigger
manual_is_multiple_ofon literal divisors - ensure a deprecation warning is emitted for
lint-inconsistent-struct-field-initializers - new lints
deprecated_attributes_without_{since,note} - fix {
panic,todo,unimplemented,unreachable} - fix
module_name_repetitionsfalse negative on grouped re-exports - fix
needless_lifetimeslinting where clauses lifetimes manual_filter: don't lint when the condition needs&muta…multiple_unsafe_ops_per_block: fix false positive in with write to union field- new lint:
unnecessary_box_pin - skip
try_from_instead_of_from_strin macro expansions - support trailing
::selfforunnecessary_self_imports
Rust-Analyzer
- support inline call in macro call
- add downcast handling in
enumclosure capture - assist do not add lifetime only turbofish
- check call no-paren after path colons
- complete cfg key-value in string inside
cfg!() - complete in top-level after inner-doc
- don't source-map
#[doc]strings that contain escapes - enum niche decoding should match rustc
- fix handling of generic params in anon consts
- pass rustc path to unstable-book-gen
- when the initializer in
letdiverges, allow non-divergingelse - mini refactors in closure capture inference
- perf: querify some things that are called by the solver and are fairly expensive to compute
- stabilize optimize attribute
- sync target feature implications from
rustc_target - typeMismatch quickfix position error:
to_owned()
Rust Compiler Performance Triage
No significant improvements or regressions this week. Most of the PRs marked as improvements had a similar perf. result, which was caused by codegen noise in the measurements.
There were some nice wins for memory usage though, thanks to #163915 and especially #163887.
Triage done by @Kobzol. Revision range: cc9a14f7..7211ea59
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.2% | [0.1%, 0.6%] | 73 |
| Regressions ❌ (secondary) |
0.3% | [0.1%, 1.4%] | 57 |
| Improvements ✅ (primary) |
-0.3% | [-1.0%, -0.1%] | 21 |
| Improvements ✅ (secondary) |
-0.3% | [-1.7%, -0.1%] | 28 |
| All ❌✅ (primary) | 0.1% | [-1.0%, 0.6%] | 94 |
3 Regressions, 21 Improvements, 2 Mixed; 1 of them in rollups 27 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.
Final Comment Period
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
- tier 3 target policy: target CPU and features must be supported by upstream backend
- Implement
AsMut<T>andAsRef<T>for!. - borrowck dataflow: respect borrow shallowness when killing borrows that conflict with assignments
- move implied bounds computation out of borrowck
- Allow
:afterpat_param - 1.100-beta regression:
boxpatterns have been removed (featurebox_patterns) - Stabilize
-Zembed-metadata - Make
std::fs::{File, ReadDir, DirEntry}alwaysneeds_dropeven when unsupported.
Rust RFCs
Language Reference
Leadership Council
No Items entered Final Comment Period this week for Cargo, Compiler Team, Language Team 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: Support registry withholding
- RFC: unsafe
global_asm - RFC for limited crates.io self-service version deletion
Upcoming Events
Rusty Events between 2026-10-14 - 2026-11-11 🦀
Virtual
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-15 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-10-18 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-20 | Virtual (Washington, DC, US) | Rust DC
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-10-21 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-10-22 | Virtual | Rust 🦀 Maven
- 2026-10-22 | Virtual (Berlin, DE) | Rust Berlin
- 2026-10-26 | Virtual | Rust 🦀 Maven
- 2026-10-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-27 | Virtual (London, UK) | Women in Rust
- 2026-10-29 | Virtual | Rust 🦀 Maven
- 2026-11-01 | Virtual | Rust 🦀 Maven
- 2026-11-01 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-11-03 | Virtual | Rust 🦀 Maven
- 2026-11-03 | Virtual (London, UK) | Women in Rust
- 2026-11-04 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-11-05 | Virtual (Berlin, DE) | Rust Berlin
- 2026-11-10 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Asia
- 2026-11-03 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
Europe
- 2026-10-14 | Barcelona, ES | BcnRust
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-14 | Köln, DE | Rust Cologne
- 2026-10-20 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2026-10-22 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2026-10-22 | Toulouse, FR | Rust Toulouse
- 2026-10-27 | Aarhus, DK | Rust Aarhus
- 2026-10-27 | Paris, FR | Rust Paris
- 2026-10-31 | Stockholm, SE | Stockholm Rust
- 2026-11-01 - 2026-11-03 | Italy, IN | RustLab
- 2026-11-04 | Dublin, IE | Rust Dublin
- 2026-11-05 | Milano, IT | Rust Language Milan
North America
- 2026-10-14 | Los Angeles, CA, US | Rust Los Angeles
- 2026-10-15 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-10-17 | Boston, MA, US | Boston Rust Meetup
- 2026-10-20 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-10-21 | San Francisco, CA, US | Bay Area Rust
- 2026-10-22 | New York, NY, US | Rust NYC
- 2026-10-24 | Boston, MA, US | Boston Rust Meetup
- 2026-10-28 | Austin, TX, US | Rust ATX
- 2026-10-31 | Boston, MA, US | Boston Rust Meetup
- 2026-11-05 | Saint Louis, MO, US | STL Rust
South America
- 2026-11-07 | Planalto Paulista, BR | Rust São Paulo 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
I think that there are a nonzero number of people who are experts in the field who would genuinely respond to "how does C work?" with "it doesn't, next question"
– Clar Fon at the rust-lang zulip
Thanks to kleines Filmröllchen for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by:
- nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- mariannegoldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilist
Email list hosting is sponsored by The Rust Foundation
This Week in Rust 672
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.
Updates from Rust Community
Official
Foundation
Newsletters
- This Month in Rust OSDev: September 2026
- Rust Trends Issue 83 - NVIDIA Brings Rust to the GPU Kernel
- Rust Trends Issue 84 - Google Puts Agents on the Rust Rewrite
Project/Tooling Updates
- Generate PDFs from Rust with HTML and CSS
- Catharsis for Noisy Audio: A Pure-Rust Restoration Toolkit with No ffmpeg and No Black Boxes
- Release mold 3.0.0 · rui314/mold
Observations/Thoughts
- Rust for CPython (Python Language Summit 2026)
- Lies, damned lies, and Rust in the TechEmpower Web Framework Benchmarks
- Beyond the
& - The Performance Cost of RwLock in Our Read-Heavy Workload
- Shipping JPEG XL in Chrome
- Proving Rust Web Application Correctness with Lean 4
- Hardware-Aware Programming in Rust
Rust Walkthroughs
- The Missing Piece in Rust Error Handling
- Compiling the kernel with gccrs
- Declarative Macros in Rust: A Simple and Practical Introduction
- A dynamic drone fail-safe system that adapts as the situation changes.
- Build a Burglar Alarm with ESP32-C5 That Sends Telegram Alerts
Crate of the Week
This week's crate is karatepe, a statically typed localisation language and library.
Thanks to miro 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, Cargo, Rustup or Rust language RFCs.
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.
- issuerd - Add a French (fr) message bundle for login pages and emails
- issuerd - Add proptest suites for issuerd-protocol parsers
- issuerd - Add an additional client installation provider (adapter config download format)
- ruxen - Expand globs in include
- ruxen - Use nginx's status reason phrases everywhere
- ruxen - Implement proxy_method
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 Bluesky 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.
- RustWeek 2027 | CFP closes 2027-01-10 | Utrecht, The Netherlands | Event date: 2027-05-24
- TokioConf 2027 | CFP closes 2026-11-30 | Portland, Oregon, USA | 2027-04-26 - 2027-04-27
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 Bluesky or Mastodon!
Updates from the Rust Project
653 pull requests were merged in the last week
Compiler
- add a single-entry parent
SpanDatacache - add fast path to generalization
- optimize Cranelift with PGO
Library
- add
mul_add_relaxedmethods for floating-point types - add
std::fs::{Home|Media}Dirs - expose
Rc::is_unique - stabilize
CStr::display - stabilize
debug_closure_helpers
Cargo
- add new peak memory table to cargo timings enabled via
-Zmem-stats config: Proper dotted tuple support with legacy fallback- git: default to net.git-fetch-with-cli if git is present
- improved testsuite file permissions cleanup
lint: Making the lint name a terminal hyperlink to docstrim-paths: stabilizeprofile.trim-paths- use trusted publishing for Cargo crates
Rustdoc
- Correctly handle
rustc_allow_incoherent_implon primitive methods - Correctly link to (imported)
enumvariants with "jump to def" - Fix how
Derefitems are handled
Rustfmt
items: format comments after where usingclause_shapebudget- use saturating arithmetics for
adjust_max_width
Clippy
manual_range_patterns: support char and byte literallet_unit_valuebail out if initializer is cfg-dependent- extend
needless_borrowed_referenceto lint mutable ref patterns - fix exponential-time performance bug in
has_non_owning_mutable_access_inner - improve
items_after_test_module: don't let derive expansions hide trailing items - new lint:
unnecessary_as_slice - optimize msrv calls (again)
Rust-Analyzer
- complete 'let' 'letm' in arm expr and closure expr
- complete turbofish when fn can't infer param
- do not suggest arg-list in expected callable arg
- fix
unicode-ident, take 2 - add missing HIR database when running unresolved-references
- complete let in macro when expand at macro stmts
- don't panic on malformed let-pattern with mismatched or-arm arities
- generate variant for self in impl
- improve in-block heuristic check in nested ambiguous
- name-match ignore leading tailing underscore
- transform usage path when extract trait to module
- fixed Implement
opaques_with_sub_unified_hidden_typefor the next-sol…
Rust Compiler Performance Triage
A relatively quiet week, but a very positive one nonetheless.
Highlights are a 3.1% improvement in rustdoc speed from not using the metadata based crate_hash for rustdoc runs,
a 0.5% improvement from a new fast path in the trait solver,
and a 0.4% improvement from a cache for the parents of SpanData.
Triage done by @JonathanBrouwer. Revision range: c1070d69..cc9a14f7
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.6% | [0.4%, 1.0%] | 12 |
| Regressions ❌ (secondary) |
0.4% | [0.1%, 0.9%] | 26 |
| Improvements ✅ (primary) |
-1.1% | [-6.2%, -0.2%] | 212 |
| Improvements ✅ (secondary) |
-1.9% | [-15.7%, -0.1%] | 208 |
| All ❌✅ (primary) | -1.0% | [-6.2%, 1.0%] | 224 |
4 Regressions, 3 Improvements, 1 Mixed; 5 of them in rollups 33 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:
Final Comment Period
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
- Make
std::fs::{File, ReadDir, DirEntry}alwaysneeds_dropeven when unsupported. - [rustdoc] Add tabs to settings popover
- rustc: Stabilize the WebAssembly
wide-arithmeticfeature - Error on non-literal expressions in doc attributes on macro calls
- stabilize ptr_cast_slice
- Add extra types to
VaArgSafe - Reject cfg on expressions that cannot be safely removed
- fn_addr_eq: we actually can guarantee basically nothing
- Stop using dlltool for generating import libraries on MinGW
- Stabilize
ptr::try_cast_aligned - [disposition: close] 1.99 beta crater regression: overflow evaluating the requirement
Compiler Team (MCPs only)
- Move
hir::Params fromBodyof functions toFnDecl. - MCP: Add -Zasync-panic for binary size
- Upstreaming BorrowSanitizer Experimentally in Nightly Rust
Language Reference
No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, 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: Add
required-targetsfor workspace package selection - RFC: unsafe
global_asm - Cromulent
Copyclosure captures - RFC for limited crates.io self-service version deletion
This RFC will appear in the Call for Testing section of the next issue (#) of This Week in Rust (TWiR).
You may remove the call-for-testing label. Please feel free to leave the call-for-testing label in place if you would like this RFC to appear again in another issue of TWiR.
Upcoming Events
Rusty Events between 2026-10-07 - 2026-11-04 🦀
Virtual
- 2026-10-07 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-10-08 | Virtual (Berlin, DE) | Rust Berlin
- 2026-10-08 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-10-10 | Virtual (Gdansk, PL) | Stacja IT Trójmiasto
- 2026-10-10 | Hybrid (Kuala Lumpur, Malaysia) | Rust Malaysia Meetup
- 2026-10-11 | Virtual (Bengaluru, India) | Embedded Rust Discord
- 2026-10-13 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-18 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-20 | Virtual (Washington, DC, US) | Rust DC
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-10-22 | Virtual (Berlin, DE) | Rust Berlin
- 2026-10-22 | Virtual | Rust 🦀 Maven
- 2026-10-26 | Virtual | Rust 🦀 Maven
- 2026-10-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-27 | Virtual (London, UK) | Women in Rust
- 2026-10-29 | Virtual | Rust 🦀 Maven
- 2026-11-01 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-11-03 | Virtual (London, UK) | Women in Rust
- 2026-11-04 | Virtual (Indianapolis, IN, US) | Indy Rust
Asia
- 2026-10-09 | Hybrid (Kuala Lumpur, MY) | Rust Malaysia Meetup
- 2026-11-03 | Tel Aviv-yafo, IL | Rust 🦀 TLV
Europe
- 2026-10-08 | Oslo, NO | Rust Oslo
- 2026-10-08 | Geneva, CH | Rust Geneva
- 2026-10-14 | Barcelona, ES | BcnRust
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-20 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2026-10-22 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2026-10-22 | Toulouse, FR | Rust Toulouse
- 2026-10-27 | Aarhus, DK | Rust Aarhus
- 2026-10-31 | Stockholm, SE | Stockholm Rust
- 2026-11-01 - 2026-11-03 | Italy, IN | RustLab
North America
- 2026-10-08 | Lehi, UT, US | Utah Rust
- 2026-10-08 | New York, NY, US | Rust NYC
- 2026-10-08 | San Diego, CA, US | San Diego Rust
- 2026-10-10 | Boston, MA, US | Boston Rust Meetup
- 2026-10-14 | Los Angeles, CA, US | Rust Los Angeles
- 2026-10-20 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-10-21 | San Francisco, CA, US | Bay Area Rust
- 2026-10-28 | Austin, TX, US | Rust ATX
South America
- 2026-10-08 | Buenos Aires, AR | Rust en Español
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
There ain't no rules here in Quote of the Week - it's survival of the wittest
Thanks to Jonas Fassbender for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by:
- nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- mariannegoldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilist
Email list hosting is sponsored by The Rust Foundation
This Week in Rust 671
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.
Updates from Rust Community
Newsletters
Observations/Thoughts
- Can safe Rust ever beat Google's C Brotli?
- Building a DMA based driver for the RP2350 I2C (safety not included)
- Advanced soft-bodies for games with the Rapier physics engine
- Supporting native Rust in Workers with the new Emscripten target for wasm-bindgen
- Rusty thoughts on "Parse, don't validate"
- The state of SIMD in Rust in 2026
- How do you stop being a Rust novice?
- We Have Named Arguments at Home: a reply to the blog post Arguing about arguments mentioned in the last issue
- Upstream Rust maintenance report (August-September 2026)
- Rust in the kernel? What about Rust without the kernel!
- Compiling the kernel with gccrs
- Listening to the radio with Rust
- Native support for Rust on the GPU
Rust Walkthroughs
- How to speed up the Rust compiler in September 2026
- Building Real-Time Notifications with SSE and Pub/Sub
- Green Threads from Scratch
- A Type Stronger than the Sum of its Components
- Deser: Rethinking Rust Serialization
- Dropping Swift from our Bevy iOS crates
- Pining for Arc Downcasting in Rust
- Topcoat is pushing the boundary of server applications with Rust
- Rust Reborrowing, Aliasing, and Mutable References
- A very condensed introduction of the basics of Rust
- [video] Making Our GPUI App Interactive with State and Events
- [ES] Domain–Flow–Effects (DFE): an architecture designed for Rust
Miscellaneous
Crate of the Week
This week's crate is ying-profiler, a native Rust sampling memory profiler.
Thanks to Evan Chan 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, Cargo, Rustup or Rust language RFCs.
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.
- unsynced - strace frontend fails on pwritev2 with offset -1 (current file offset)
- unsynced - Model hard links (link/linkat) instead of warning
- unsynced - Add an ext4 data=writeback persistence profile
- MemoryWhale - Cover friendly errors for incomplete
mwarguments - MemoryWhale - Lock down
mw --helpoutput - dataprof - Remote Parquet refusal messages should say to download the file when the server ignores Range
- dataprof -
ScoreBounds::dimension_scoresdocs still list estimated key counts as unbounded - dataprof - The progress
finishedevent under-counts rows when a row cap stops the incremental engine
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 Bluesky 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.
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 Bluesky or Mastodon!
Updates from the Rust Project
546 pull requests were merged in the last week
Compiler
- computing
crate_hashfrom metadata encoding instead of HIR (implements #94878) - detect missing else in let statement
- give noalias back to refs in closures
- implement forced keywords (
k#) - use SmallVec in LocalizedConstraintGraph
Library
- add
DivandMulforComplex<{float}> - alloc: stabilise
Allocator - additional
NonZeroconversions - allow elided (
'static) lifetimes inthread_local! - implement
PartialEq<VecDeque<U>>forVec<T>,&[T],&mut [T],[T; N],&[T; N]and&mut [T; N] - make dropping an empty BTreeMap free
- stabilize SyncView
- stabilize
Box::take - stabilize
Result::into_{ok,err} - stabilize
funnel_shifts(includingconst) - stabilize
mem::conjure_zst - stabilize
vec_try_remove - use wrapping arithmetic in
from_str_radix
Cargo
builtin-deps: add builtin dependencies manifest syntaxconfig: add build.profile, install.profilemetadata: mirror package features infeatures_v2builtin-deps: fix builtin dependencies manifest validationdiag: Don't report unused normal deps when static libs are skippedpackage: preserve feature metadata in normalized manifests
Rustdoc
- correctly check that an item is not
doc(hidden)with--generate-link-to-definition - fix intra doc link resolution when a doc comment is composed of both inner and outer doc comment
- fix invalid jump to def link when
#[rustc_allow_incoherent_impl]is involved - fix quadratic naming of duplicate sidebar links
Clippy
while_let_loop: detect the pattern when the loop has a label- add new
try_from_instead_of_from_strlint - don't suggest
Box::leakinnonnull_unchecked_on_box_ptr - fix
collapsible_matchconsuming/mutation checking - fix
match_str_casematching str inside or patterns - improve doc attr span tracking for proc-macro
Rust-Analyzer
- don't fail extension activation when the server fails to start
- add
type_matchrelevance for type-alias - coercion safe fn to unsafe fn
- complete 'false' in cfg attribute
- complete attr value inside string without quotes
- const eval cast of single-variant
enum - deduplicate 'derive' and 'test' attribute macro
- do not type match unknown type
- don't clear semantic tokens cache on refresh
- hover show impl header when impl with trait
- panic in async closures with higher-ranked trait bounds
- return UB instead of panicking when reading the discriminant of an uninhabited
enum
Rust Compiler Performance Triage
This week was fairly positive. We had no pure regressions, and most of the results came from a few architectural improvements with mixed or mostly positive impact. Some improvements also come from addressing previously triaged regression caused by missing no_alias annotation for references in closures.
The biggest improvement this week is in rustdoc, from tackling quadratic behaviour when generating sidebar links. This was reported by a user, but the effect didn't show up in our benchmarks, so we added a special stress test for it.
Triage done by @panstromek. Revision range: 3670d253..c1070d69
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.6% | [0.2%, 0.8%] | 8 |
| Regressions ❌ (secondary) |
1.4% | [0.1%, 5.8%] | 30 |
| Improvements ✅ (primary) |
-0.6% | [-1.7%, -0.2%] | 192 |
| Improvements ✅ (secondary) |
-1.5% | [-82.5%, -0.1%] | 101 |
| All ❌✅ (primary) | -0.6% | [-1.7%, 0.8%] | 200 |
0 Regressions, 2 Improvements, 6 Mixed; 3 of them in rollups 26 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.
Final Comment Period
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
- Stop using dlltool for generating import libraries on MinGW
- Stabilize
ptr::try_cast_aligned - [disposition: close] 1.99 beta crater regression: overflow evaluating the requirement
- implement FCW for
rustc_allowed_through_unstable_modulesitems - fix
VisibleForLeakCheckinRegionOutlivesfast path - Stabilize
debug_closure_helpers - Support type-relative assoc item paths in generic param defaults & const param types
- FCW for
#[panic_handler]onunsafe fn. - Stabilize
optimizeattribute - Allow unary operand types to be inferred later
- Feat -
#[inline(always)] + #[target_feature(enable = "....")]#2 - Tracking Issue for
CStr::display - Syntactically reject leading parenthesized precise capturing lists in bare trait object types (
(use<…>)+)
Rust RFCs
Cargo
Compiler Team (MCPs only)
No Items entered Final Comment Period this week for 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
Upcoming Events
Rusty Events between 2026-09-30 - 2026-10-28 🦀
Virtual
- 2026-09-30 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-10-01 | Virtual | Rust Foundation & JetBrains
- 2026-10-02 | Virtual | Rust Girona
- 2026-10-03 | Virtual (Amsterdam, NL) | Bevy Game Development
- 2026-10-04 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-06 | Virtual (London, UK) | Women in Rust
- 2026-10-07 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-10-08 | Virtual (Berlin, DE) | Rust Berlin
- 2026-10-08 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-10-10 | Virtual (Gdansk, PL) | Stacja IT Trójmiasto
- 2026-10-10 | Hybrid (Kuala Lumpur, Malaysia) | Rust Malaysia Meetup
- 2026-10-13 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-18 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-20 | Virtual (Washington, DC, US) | Rust DC
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-10-22 | Virtual (Berlin, DE) | Rust Berlin
- 2026-10-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-27 | Virtual (London, UK) | Women in Rust
Asia
- 2026-10-09 | Hybrid (Kuala Lumpur, MY) | Rust Malaysia Meetup
Europe
- 2026-09-30 | Basel, CH | Rust Basel
- 2026-09-30 | Berlin, DE | Rust Berlin
- 2026-10-01 | Berlin, DE | Rust Berlin
- 2026-10-01 | Oxford, GB | Oxford ACCU/Rust Meetup.
- 2026-10-05 | München, DE | Rust Munich
- 2026-10-08 | Oslo, NO | Rust Oslo
- 2026-10-08 | Geneva, CH | Rust Geneva
- 2026-10-14 | Barcelona, ES | BcnRust
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-20 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
North America
- 2026-10-01 | Saint Louis, MO, US | STL Rust
- 2026-10-03 | Boston, MA, US | Boston Rust Meetup
- 2026-10-08 | Lehi, UT, US | Utah Rust
- 2026-10-08 | New York, NY, US | Rust NYC
- 2026-10-08 | San Diego, CA, US | San Diego Rust
- 2026-10-10 | Boston, MA, US | Boston Rust Meetup
- 2026-10-14 | Los Angeles, CA, US | Rust Los Angeles
- 2026-10-20 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-10-21 | San Francisco, CA, US | Bay Area Rust
- 2026-10-28 | Austin, TX, US | Rust ATX
South America
- 2026-10-08 | Buenos Aires, AR | Rust en Español
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
The community is obnoxiously helpful. I asked a simple question on the Rust community Discord server. What is the best way to read a file in Rust? I expected a straightforward response. Instead, I got back a 2,000-word essay on the inner workings of IO, buffering, error handling, and ownership, plus links to four different blog posts and three different approaches depending on file size, and a working code example.
...
The Rust community has weaponized education against me. I'm now a better engineer than I was yesterday against my will.
Thanks to MusicalNinjaDad for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by:
- nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- mariannegoldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilist
Email list hosting is sponsored by The Rust Foundation
This Week in Rust 670
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.
Updates from Rust Community
Official
- Be alert: targeted attacks on prominent Rustaceans
- GitHub Actions leaking secrets when Miri output is cached
- Maintainer spotlight: Alejandra González (@blyxyas)
- Announcing a Maintainer in Residence: Scott Schafer for the Cargo team
Foundation
Project/Tooling Updates
- Fearless SIMD v1.0 is here
- Syncing Rust GCC backend or how to test Murphy's law
- Benchmarking Wild vs Mold
Observations/Thoughts
Rust Walkthroughs
- [video] Understanding Rust Ownership by Building a Zero-Copy Log Line Parser
- Finding Bugs
- Why datadiff matches arrays by key instead of computing tree edit distance
- [video] RustCurious lesson 10: Three Ways to Fix Any Borrowing Error
- Solving for faster SHA-1 collision detection
- Small and secure Docker images for Rust: Alpine vs Debian vs Scratch
Crate of the Week
This week's crate is fastlogging-rs, a fast logger which supports 8 different programming languages.
Thanks to brmmm3 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, Cargo, Rustup or Rust language RFCs.
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.
- sysknife - A successful automatic rollback renders to the operator as unknown
- sysknife - sysknife-setup --uninstall deletes .mcp.json whole, taking every other MCP server with it
- sysknife - audit export publishes request_hash, an unsalted hash over unredacted params, with no statement of its sensitivity
- Apache Iggy - Python SDK: expose consumer shutdown and offset drain timeout
- Apache Iggy - Python SDK: expose client disconnect and shutdown lifecycle methods
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 Bluesky 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.
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 Bluesky or Mastodon!
Updates from the Rust Project
618 pull requests were merged in the last week
Compiler
- A couple polonius constraints perf improvements
- AST lowering cleanups
- an assortment of polonius tweaks
- check
tainted_by_errorin LateLint - even more cleanups for
rustc_builtin_macros - perf: keep the first macro syntax-context mapping inline
- suggest fully qualified path on method name collision
Library
- add
Dir::try_clone - add case mapping fast paths for Latin-1
- complex conjugate, negation and default
- constify comparison traits on sliced types
- implement const Iterator for Range
- stabilize
CommandExt::show_window - stabilize
feature(trim_prefix_suffix)({str,[T],Path}::trim_prefixand {str,[T]}::trim_suffix) - stabilize
windows_process_extensions_main_thread_handle
Cargo
build-rs: makeunstablecompile- account for (uplift) hardlinks when calculating clean file size
- fix: return correct package specs when resolving workspace deps
- remove -Zasymmetric-token / cargo:paseto
- report the number of errors with
build.warnings='deny'
Rustdoc
- Correctly handle
dyntrait methods linking for jump to def feature - Correctly handle intra-doc links on inlined same item with different names
Clippy
- add
must_use_without_reasonlint - fix
const_trait_implrelated infinite loop inneedless_borrows_for_generic_args - generalize
extend_with_draintoVecDequeandBinaryHeap - lint
suboptimal_flopsformul_add,custom_absandradiansin const context - lint nested
format_args!for uninlined args
Rust-Analyzer
- prioritise required items in trait autocomplete
- support completions inside
cfg!() - support hover on cfg predicate
- complete cfg value in string
- correct order deprecated const in builtin ty
- not complete attr args when before exists args
- watch include roots recursively once, not every directory
Rust Compiler Performance Triage
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.
Final Comment Period
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
- Types FCP v2: Supertrait item shadowing stabilization
- declare C and C-unwind as mutually ABI-compatible
- Distinguish
repr(C)ZSTs from others in ABI compatibility rules - Implement Default for NumBuffer
- rustc: Stabilize the WebAssembly
wide-arithmeticfeature - Allow elided ('static) lifetimes in
thread_local! - Stabilize
mem::conjure_zst - Prevent mutating the global environment pointer in
CommandExt::execand opt to use execve and resolve path manually - Stabilize
debug_closure_helpers - Additional NonZero conversions
- Stabilize
funnel_shifts(includingconst) - Stabilize
Result::into_{ok,err} - windows: stabilise inherit_handles
Cargo
- OUT_DIR is also set when running the program
- feat(config): Add build.profile, install.profile
- fix(git)!: Default to net.git-fetch-with-cli if git is present
Compiler Team (MCPs only)
Leadership Council
- Formulate a
trusted-contributorsmarker team - Participation in Outreachy Dec 2026 (dedication of funds)
No Items entered Final Comment Period this week for Rust RFCs, 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
- No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2026-09-23 - 2026-10-21 🦀
Virtual
- 2026-09-24 | Virtual (Berlin, DE) | Rust Berlin
- 2026-09-24 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2026-09-29 | Virtual (London, UK) | Women in Rust
- 2026-09-30 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-10-02 | Virtual | Rust Girona
- 2026-10-04 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-06 | Virtual (London, UK) | Women in Rust
- 2026-10-07 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-10-08 | Virtual (Berlin, DE) | Rust Berlin
- 2026-10-08 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-10-10 | Virtual (Gdansk, PL) | Stacja IT Trójmiasto
- 2026-10-13 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-18 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-10-20 | Virtual (Washington, DC, US) | Rust DC
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
Asia
- 2026-09-23 | Maharashtra, IN | Rust Pune
Europe
- 2026-09-24 | Aarhus, DK | Rust Aarhus
- 2026-09-24 | Amsterdam, NL | Rust Developers Amsterdam Group
- 2026-09-24 | Frankfurt, DE | Rust Rhein-Main
- 2026-09-24 | London, UK | Rust London User Group
- 2026-09-25 | Edinburgh, UK | Rust and Friends
- 2026-09-26 | Stockholm, SE | Stockholm Rust
- 2026-09-28 | Augsburg, DE | Rust Meetup Augsburg
- 2026-09-29 | Manchester, UK | Rust Manchester
- 2026-09-29 | Milano, IT | Rust Language Milan
- 2026-09-30 | Basel, CH | Rust Basel
- 2026-09-30 | Berlin, DE | Rust Berlin
- 2026-10-05 | München, DE | Rust Munich
- 2026-10-08 | Oslo, NO | Rust Oslo
- 2026-10-10 | Geneva, CH | Rust Geneva
- 2026-10-14 | Barcelona, ES | BcnRust
- 2026-10-14 - 2026-10-17 | Hybrid (Barcelona, ES) | EuroRust
- 2026-10-20 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
North America
- 2026-09-23 | Austin, TX, US | Rust ATX
- 2026-09-23 | Austin, TX, US | Rust ATX
- 2026-09-24 | Atlanta, GA, US | Rust Atlanta
- 2026-09-26 | Boston, MA, US | Boston Rust Meetup
- 2026-10-01 | Saint Louis, MO, US | STL Rust
- 2026-10-03 | Boston, MA, US | Boston Rust Meetup
- 2026-10-08 | San Diego, CA, US | San Diego Rust
- 2026-10-10 | Boston, MA, US | Boston Rust Meetup
- 2026-10-14 | Los Angeles, CA, US | Rust Los Angeles
- 2026-10-20 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-10-21 | Hybrid (Vancouver, CA) | Vancouver Rust
Oceania
- 2026-09-29 | Barton, AU | Canberra Rust User Group
South America
- 2026-10-08 | Buenos Aires, AR | Rust en Español
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
operational pedantics
Thanks to Jules Bertholet for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by:
- nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- mariannegoldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilist
Email list hosting is sponsored by The Rust Foundation