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