This Week in Rust 667
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? .
- How the Rust Standard Library Verification Contest Scaled Past Manual Proof Engineering
- Welcoming Rust Program Manager, Tomáš Šedovič, to the Rust Foundation Team!
- Welcoming Jess Izen as Engineer in Residence at the Rust Foundation
- Wasmi 2.0 - Engineering of the Fastest Wasm Interpreters
- How I made Rustdoc 33% faster in one week
- A Self-Baked Async FFI Framework for Rust C# Interop
- Could Cargo's scheduler be better?
- How we developed the world's first safety-certified product written in Rust – and why we went bare metal
- How we saved 100 terabytes of memory by optimizing 1.1.1.1’s DNS cache
- Rust concurrency vs Go concurrency: stackless vs stackfull coroutines
- Nine Rules for Compile-Time Work with Rust const fn: Parse files, build tables, and catch mistakes … without a build script (Part 1)
- [video] An Agentic VM in Rust — by Cristian Sánchez
- [video] Making Progress on AsyncIterator — by Jack O'Connor
- The 'rnull' Rust block driver
- Your First GPUI App - Building a Desktop UI in Rust
- Welcome to the machine: emulating a CPU
- Proving my Rust NVR doesn't leak memory (it did)
- Software That Must Not Be Wrong: Property Tests for a Pediatric Dosing Calculator
- Drawing Shapes with GPUI's Canvas
- Pinning Down Rust’s Pin
This week's crate is buf_read_splitter, a crate to split (separate) a stream into sub-subtreams.
Thanks to flo for the self-suggestion!
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.
- Zynlex - Add case-sensitive and whole-word toggles to find-in-page
- HookEcho - High-contrast theme: colormaps and stroke widths do not respond to it
- sysknife - UfwDeleteRule needs a rule number that no action in the catalogue can produce
- sysknife - peer_pidfd cannot tell a pre-6.5 kernel from a peer that already exited, so the PID-reuse check is off in the reuse case
- sysknife - The signed trail names which account asked for a change, never which one approved it
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!
522 pull requests were merged in the last week
- compiler: allow safestack to be togglable via
#[sanitize(safestack = "...")] - perf: push nominal obligations instead of returning them
- reduce perf impact of scalar size checks
- remove unneeded clone in macro deriving
- add custom allocators to
(try_)maponBox, Rc, Arc - add intrinsics for integer minimum and maximum
- add SVE-accelerated
Vec::retain_mutfor aarch64 - alloc
String::retainoptimization - core: expose volatile atomic operations
- implement
[u8]::split_ascii_whitespace - implement
clamp_to
- diag: Stabilize cargo-lints
- resolver: Stabilize min-publish-age
- run: Printing a new line to avoid overwriting error code after \r
- trim-paths: custom workspace-relative member paths remap
perf(git): Reduce extra work when using git-cli- cargo profiling improvements
- manifest!: implement feature-metadata RFC3416
- perf: do not build SBOM if user has not set build.sbom
- correctly handle when a macro generates multiple items in
--generate-macro-expansion - fix lint
cargo::non_kebab_case_bins - take into account edition information for keyword highlighting
fix(cargo_common_metadata): stop checkingpackage.readmefix(redundant_clone): Makevisit_local_usageanalyse loop bodies instead of giving up on them- add comma to
lint_groups_priorityerror message - fix
--explainlint lookup being case-mismatched - fix false positive for never type impls
missing_transmute_annotationsshould not contain fn name in suggestion- perf: bail early in
too_many_lineslint if rule is not enabled - perf: skip redundant clone analysis for clone-free functions
- allow “Extract variable” to be invoked on field names in record expressions
- fix HIR lowering of params of trait assoc fns
- fix incorrect generic shown on hover
- fix
NamedTempFile - fix some subtle bugs in docs rendering
- fix unsafeck of
&raw * - fix panic on accessing numeric fields in unions
- fix panic on deref of unresolved aliases
- fix panic when computing
extract_variablewith macros - fix panic when hovering a dyn trait with a binder
- print the ABI for fn pointers (if not the default)
- push a generic params scope for consts
- range pattern inside a parenthesis parsed as tuple pattern
- reinfer never type in array repeat expressions
- strip leading asterisk decoration from block doc comments
- switch from
temp-dirto a homemadeNamedTempFileimplementation
This week continues a steady stream of compile time improvements. Most of the impact this week comes from type system micro-optimization in #160473 and dead_code lint propagation fix in #161571. We've also hit unexpected regression in a standard library refactor, but we expect that to be addressed soon.
Triage done by @panstromek. Revision range: 9a4ad59a..5321a4f4
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) | 0.6% | [0.2%, 1.8%] | 27 |
| Regressions ❌ (secondary) | 0.6% | [0.2%, 1.8%] | 27 |
| Improvements ✅ (primary) | -0.7% | [-2.4%, -0.1%] | 135 |
| Improvements ✅ (secondary) | -0.7% | [-2.2%, -0.1%] | 120 |
| All ❌✅ (primary) | -0.5% | [-2.4%, 1.8%] | 162 |
5 Regressions, 4 Improvements, 4 Mixed; 9 of them in rollups 39 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
- Re-export
core::fmt::NumBufferinalloc(andstd) - Guarantee 8 bytes of alignment of RawWakerVTable
- Stabilize
core::mem::DropGuard - "stabilize never type" T-types FCP
Rust RFCs
Leadership Council
No Items entered Final Comment Period this week for Cargo, Compiler Team, 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
Rusty Events between 2026-09-02 - 2026-09-30 🦀
- 2026-09-02 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-09-02 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-09-04 | Virtual | Rust Girona
- 2026-09-06 | Virtual | Rust 🦀 Maven
- 2026-09-06 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-09-08 - 2026-09-11 | Hybrid (Montreal, CA) | RustConf 2026
- 2026-09-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-09-08 | Virtual (London, UK) | Women in Rust
- 2026-09-09 | Virtual (Cardiff, GB) | Rust and C++ Cardiff
- 2026-09-10 | Virtual | Rust 🦀 Maven
- 2026-09-10 | Virtual (Berlin, DE) | Rust Berlin
- 2026-09-10 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-09-15 | Virtual (Washington, DC, US) | Rust DC
- 2026-09-16 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-09-17 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-09-18 | Virtual | Rust Girona
- 2026-09-20 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-09-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-09-24 | Virtual (Berlin, DE) | Rust Berlin
- 2026-09-29 | Virtual (London, UK) | Women in Rust
- 2026-09-08 | Johannesburg, ZA | Johannesburg Rust Meetup
- 2026-09-03 | Berlin, DE | Rust Berlin
- 2026-09-03 | Oxford, GB | Oxford ACCU/Rust Meetup.
- 2026-09-08 | Paris, FR | Rust Paris
- 2026-10-10 | Geneva, CH | Rust Geneva
- 2026-09-14 - 2026-09-16 | Berlin, DE | Oxidize 2026
- 2026-09-15 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2026-09-15 | Madrid, ES | MadRust
- 2026-09-22 | Prague, CZ | Rust Prague
- 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-29 | Manchester, GB | Rust Manchester
- 2026-09-30 | Basel, CH | Rust Basel
- 2026-09-03 | Mountain View, CA, US | Hacker Dojo
- 2026-09-03 | Saint Louis, MO, US | STL Rust
- 2026-09-05 | Boston, MA, US | Boston Rust Meetup
- 2026-09-08 | Montreal, CA| The Rust Foundation
- 2026-09-08 - 2026-09-11 | Hybrid (Montreal, CA) | RustConf 2026
- 2026-09-09 | Montreal, CA | Women in Rust
- 2026-09-10 | Lehi, UT, US | Utah Rust
- 2026-09-10 | San Diego, CA, US | San Diego Rust
- 2026-09-12 | Boston, MA, US | Boston Rust Meetup
- 2026-09-15 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-09-16 | San Francisco, CA, US | Bay Area Rust
- 2026-09-16 | Hybrid (Vancouver, CA) | Vancouver Rust
- 2026-09-17 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-09-17 | Mountain View, CA, US | Hacker Dojo
- 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
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
I think you are inventing provenance for integers. Please, let's not.
– Ralf Jung in an RFC discussion
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