This Week in Rust 674
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? .
- Cloudflare is rewriting everything in Rust
- What agents mean for Rust (and vice versa)
- Black-Box HashDoS: Attacking Hash Tables Without Knowing the Hash Function
- 2026 is an exciting year for the Rust compiler (and me)
- What the crates.io download count really measures: 90 days of daily data from 69 crates
- Safe self-referential data structures in kernel Rust
- Cross-crate forward declarations in Rust
- Why tellus message handlers are synchronous
- Upstreaming Tyr: Rust, DRM, and the Linux Kernel
- I forced a speech model onto the GPU for months. The CPU was faster.
- Superoptimizing an FPU emulator
- Draw and Animate Loading Spinner with GPUI
- [series] Encoding TCP in Rust's Type System, Part 1: A Sequence Number Is Not a
u32 - [series] Running 10 million Codex CLIs on one server - LFI processes
- An Incremental Approach to JIT Construction
- [video] [Scheme'26] An Incremental Approach to JIT Construction
This week's crate is eilmeldung, a TUI RSS reader.
llogiq is pretty pleased with his choice, despite a lamentable lack of suggestions.
Please submit your suggestions and votes for next week!
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.
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.
ScreenCue
sysknife
- sysknife - README says the CLI's approval gate is sysknife approve; the CLI approves in-process after its own prompt
- sysknife - --dry-run exits 0 for a plan that breaks --max-risk or that this distro cannot run
- sysknife - Re-running sysknife-setup while the daemon runs fails with ETXTBSY and can leave mismatched binaries
Manguebyte
- Manguebyte - Put ParamSmoother under the allocation guard
- Manguebyte - Treat a NaN delay as the shortest delay in DelayLine::read and Delay::set_time
- Manguebyte - Check security advisories in the cargo deny job
- Manguebyte - Let a plugin report its tail to hosts
- Manguebyte - Add audio widgets, starting with an on-screen keyboard
krate
- krate - Fix two warnings on the wasm32 and Windows targets (easy)
- krate - Linux: follow the person's dark mode and text size (medium)
- krate - krate pack: add a --keep-debug flag (medium)
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!
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!
601 pull requests were merged in the last week
- improve diagnostic for literals in lint attributes
- improve diagnostics for non-well-formed associated items
- fix
diagnostic::on_unknownformat placeholder for paths in expressions and type paths - move
fully_performearly return earlier - overhaul span compression
- perf: drop error in
unwrap_failedinstead ofunwrap - port lint attributes
- provide context span pointing at trait/item when talking about assoc items
- restore the old behavior for
derive(Default)on fieldless types - skip move checks when the size limit is zero
- stabilize
-Zembed-metadata - support function args const generics
- add
codeview_annotationintrinsic - add
core::process::resumable_breakpoint - make
std::fs::{File, ReadDir, DirEntry}alwaysneeds_dropeven when unsupported - make tuple
PartialOrdchaining easier on mir-opt - windows: stabilise
inherit_handles
build-std: Add build.build-std.when and crates config keysprerelease: support[patch]with-Zprereleaseconfig: Apply dotted tuple support for rustflagsconfig: Don't load registry config from credentials.tomlfingerprint: choose a stable path when source mtimes tieutil-schemas: compile out the file-path hint where url can't build it- shell completion show all the packages having the feature
- check crate type when pruning
-Lpaths
- config: fix lookup of global config files
- don't remove empty generic args when formatting in a macro context
- enforce comment width in item lists
- fix
cfg_select!parser recovery handling and parser session error count leak - fix statement comment wrapping
- prevent rustfmt from removing expression attrs when removing nested parens
- prevent rustfmt from removing necessary blocks in
cfg_select!arms
- add disambiguators for identically named method in sidebar
- improvements for
rustc_must_implement_one_of
- allow
allow_attributesfrom inside macros - bail all doc lints when attributes come from external macro expansion
- clear collection reassignment
- extend
from_str_radix_10to NonZero types - fix
try_from_instead_of_from_strlint suggestion causes error whenTryFrom::try_fromparameter is not namedvalue - fix
wildcard_importsinfinite loop on macro generated glob imports - fix trailing semicolon with
nonstandard_macro_braces - new lint:
bufreader_stdin useless_attribute: no longer lintclippy::allow_attributes
viewMirpanicking in code containing field projections- bail out of
struct_tail_erasing_lifetimeson infinite structs - build non-ambiguous monikers in crates with multiple targets
- emit E0029 for range patterns with inferred invalid types
- escape keyword module name completions
- improve attribute completions without snippet
- ops: resolve
ref-version-mismatch,stale-action-refs, andunpinned-uses
A week dominated by changes of small magnitude. However, a number of improvements landed that results in an overall average improvement of 1.4%, which is a quite nice to see.
Triage done by @simulacrum. Revision range: 7211ea59..bd4c6cc4
6 Regressions, 9 Improvements, 8 Mixed; 0 of them in rollups 43 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:
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
Rust
- core: Add
assert_matchesanddebug_assert_matchesto the next prelude - Lower #[no_mangle] to #[symbol_name]/#[link_name]
- stabilize String::into_chars
- stabilize {Rc, Arc}::is_unique
- vec: stabilise allocators for into_iter
- Don't require
unsafefor struct and array patterns against union fields - Add a future incompat warning for #[no_link]
- raise ambiguity error on attribute macro that could be tool attribute
- stabilize
-Znext-solver=globally - Stabilize
--remap-path-scopein rustdoc and thedocumentationscope
Compiler Team (MCPs only)
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
- Deprecate
std::env::{vars, args} - RFC: document a strict
Futurecontract that forbids snoozing - RFC: extern "Rust_manyregs" ABI
- RFC: add
poll_progresstoAsyncIterator
Rusty Events between 2026-10-21 - 2026-11-18 🦀
- 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 (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
- 2026-11-12 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-11-15 | Virtual | Rust 🦀 Maven
- 2026-11-15 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-11-17 | Virtual | Rust 🦀 Maven
- 2026-11-17 | Virtual (London, UK) | Women in Rust
- 2026-11-17 | Virtual (Washington, DC, US) | Rust DC
- 2026-11-18 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-11-03 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
- 2026-11-14 | Bengaluru, IN | Rust Bangalore
- 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-28 | Copenhagen, DK | Copenhagen Rust Community
- 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
- 2026-11-17 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 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 | Montréal, CA | Rust Montréal
- 2026-11-05 | San Francisco, CA | Rust LA: NVIDIA!
- [NVIDIA x Lawrence Harvey | CUDA Rust](https://www.meetup.com/rust-montreal/events/316919004/](https://luma.com/iqe7wng1)
- 2026-11-05 | Saint Louis, MO, US | STL Rust
- 2026-11-12 | San Diego, CA, US | San Diego Rust
- 2026-11-14 | Boston, MA, US | Boston Rust Meetup
- 2026-11-17 | Los Angeles, CA, US | Rust Los Angeles
- 2026-11-17 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-11-18 | Hybrid (Vancouver, CA) | Vancouver Rust
- 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.
Please see the latest Who's Hiring thread on r/rust
To me it seems the same things that make Rust a desirable target for LLM generated code are the same things that make it desirable for me as a human writing code, that being the fantastic compiler feedback and the first class tooling.
– Christian Haynes on rust-users
Thanks to Moy2010 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