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
- Rust Team Health Summit: September 8 in Montréal
- Catching Up with the Rust Content Team: RustWeek Interviews and a New Changelog Series
Newsletters
Project/Tooling Updates
We are making changes to the Project/Tooling Updates Section - see here for more details
- Bevy's Sixth Birthday
- fearless_simd v0.7: 64-bit integers, improved generics, SSE2, and upcoming v1.0
- vairedb 0.1.0 - Cloud Native Distributed Analytical Database
- OXVG 0.0.7: introducing an SVG-to-JSX transformer to the OXVG toolchain
- HTML, JavaScript, CSS should have died long ago
- Even more formal verification for BPF
- kache 0.14.0: debuggable restores and cross-clone convergence
- kobe 0.39.0: hardening the cluster-lease lifecycle
- renew 0.1.1: a deterministic, code-first game engine
- GRIT 1.1: type-check your quantized tensors
- floDl: Introducing AMD GPU support
- git-cache-proxy: read-only cache for git
Observations/Thoughts
- A Vision for Cargo
- Cylic trait implementations: motivation
- Rust SIMD on the GPU
- Rewriting in Rust: Performance, Failures, 2026 Reality Check
- RangeFrom, Part 1..: History and background
- Typed Conversations: Make Illegal Agent Dialogues Unrepresentable
- ECQV: implicit certificates, and why I kept them out of the project that motivated them
- TLS Handshakes: Measuring the Performance of 4 Cryptography Libraries
- Building scalable backend services with Rust and PostgreSQL
- PoC for universal hardware-in-the-loop HAL test suite — Tweede golf
- [video] FLOSS 878 - A Tool With Opinions
Rust Walkthroughs
- Downcasting Arcs in Rust
- Profiling Rust with hotpath-rs: The Complete Guide - From SQL Queries to CPU Sampling
- A chip-agnostic architecture for bare-metal embedded Rust
Research
Miscellaneous
Crate of the Week
This week's crate is literator, a crate for efficiently displaying the items of an iterator without temporary allocations.
Thanks to Nora for the 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.
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
698 pull requests were merged in the last week
Compiler
- check the fallback map before queueing child in
visible_parent_mapbreadth-first search - enable polonius alpha on nightly
- improve
canonical_param_env_cache - interpret: skip deref-projection validity checks when they are not needed
- optimize crate resolution for large workspace
- optimize handling of solver errors
- optimize
try_evaluate_obligations - perf: cache already-checked types in the privacy visitor
- perf: lock-free root fast paths for hygiene queries
- perf: skip irrelevant foreign impls when building the specialization graph
- perf: store the fulfillment engine inline in ObligationCtxt
- shallow resolve ty and const vars to their root vars, attempt 2
- speed up
EverInitializedPlaces - split
apply_primary_terminator_effect - stabilize
c_variadic_naked_functions
Library
- add fast path to
escape_string_symbol - core: generalize
BorrowedCursor::ensure_init - hint that memchr returns an in-bounds index
- implement
<OnceCell,OnceLock>::new_init - implement
to_string()onByteStrandByteString - introduce a
PinSafePointertrait that generalizesPinCoerceUnsized - mark const ptr methods and free functions as
inline(always)to match *mut - optimize
slice::containsfor one-byte BytewiseEq types - single-pass ASCII lower/upper case conversion
- stabilize
fs_set_times
Cargo
docs(changelog): Pull the --verbose itemdocs(ref): Add missing config env variablesfeat(log): emit build-started JSON message withrun_idfeat(profile): Add built-in profile debugfeat(resolver): Report the min-publish-age in the lock messagefeat(toml): allow overriding inherited default-features in 2024feat(trim-paths): emit unremap files for final artifactsfix(clean): respect target with --docfix(diag): Ensure diagnostic titles work without snippetsfix(diag): Gateblanket_hint_mostly_unusedwith -Zprofile-hint-mostly-unusedfix(diag): Remove complexity, perf, and nursery lint groupsfix(git): Avoid use of git's core.fsmonitorfix(lock): Use more accurate 'highest, rather than 'latest'fix(resolver): Make min-publish-age relative to --publish-timefix(trim-paths): /cargo/depsfallback sourcesfix(trim-paths): workspace remap under -Zroot-dirrefactor(resolver): resolve()does not need an optional gctxrevert(compiler): forward verbose flag to rustc for local cratestest(trim-paths): exercise unremap files with debuggers- doc: don't use mergeable info and json together
- fix funding link
- refactor: remove unnecessary mut in sources
- test: handle non-deterministic compilation order
Rustdoc
- Create output file after we checked that the standalone markdown file is valid
- Do not take
doc(cfg())into account when filtering doctests
Clippy
cast_possible_truncation: fixtry_fromsuggestion expanding macros- don't lint
semicolon_if_nothing_returnedin#[automatically_derived]… - fix
needless_range_loopsuggests wrongly for nested index needless_bool: lint the early-return guard form- new lint: nonzero operators and methods
redundant_pattern_matching: parenthesize guardedmatches!suggestionunwrap_or_default: respect MSRV for raw-pointer Default impls
Rust-Analyzer
- account for trailing line continuations in byte strings
- support
#[rustc_must_implement_one_of]in the assists - add
replace_arith_with_strictassist term_searchexclude useless target type- add parens on some common cases for
type_mismatch - allow
structliterals in match guards insideletexprs - always allocate anon consts for c-strings/byte-strings literals
- avoid array len type mismatch with string panic
- avoid escaping bound vars produced by
infer_method_call's skip_binder - bound macro expansion depth across body and block boundaries
- do not consider locals of
async fnas upvars of the returned coroutine - do not declare the value NS constructor for structs/enum variants if it does not exist
- don't panic when a lifetime is passed to an
identmetavariable - fix 'no entry found for key' panic in VFS
- fix upvars query of const block inside closure
- fixed positive diagnostic for valid code
- initialize
macro_depthto the file's macro depth in docs.rs and assoc.rs - let
Param::parent_fnreturn function for BuiltinDeriveImplMethod methods - normalize associated types in orphan checks
- off-by-one in lifetime binders when lowering
dyn Trait<'a> - optimize memory usage of the item tree
- parse inline asm with keyword as operand name
- parse or pattern after range pattern
- preserve trailing text when
InsertReplaceEditis unsupported - remove extra spaces in full function signatures
- support macros in
#[doc]attributes in IDE features - unresolved type variables shouldn't escape impl selection
- when searching for a
pub macro, consider it available to reverse dependencies
Rust Compiler Performance Triage
This week so many new performance improvements landed that we needed to roll 10 of them up together to keep the bors queue manageable, great work! Also new is the LLVM 23 update which caused massive compile-time, run-time, bootstrap time and artifact size improvements. These improvements are reduced by the merge of Polonius Alpha on nightly causing a 3.0% regression. There still seems to be some potential to mitigate this regression.
Triage done by @JonathanBrouwer. Revision range: 65dd30fb..771916f9
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
4.6% | [0.2%, 12.8%] | 24 |
| Regressions ❌ (secondary) |
4.3% | [0.2%, 14.3%] | 30 |
| Improvements ✅ (primary) |
-3.3% | [-16.4%, -0.2%] | 251 |
| Improvements ✅ (secondary) |
-5.2% | [-34.8%, -0.2%] | 308 |
| All ❌✅ (primary) | -2.6% | [-16.4%, 12.8%] | 275 |
1 Regression, 4 Improvements, 7 Mixed; 5 of them in rollups 25 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
- std: map ENOTSUP to ErrorKind::Unsupported- #158580
- feat: add symmetric PartialEq impls for
Vec,&[T],&mut [T]versusCow<'_, [T]> - Add
Defaultimplementation forstd::sync::Once - Extend
dropping_{references,copy_types}lints todrop_in_place - lint on more incorrect usages of
core::ffi::c_void - target_features: sse (or at least avx2) is incompatible with soft-float ABI
- Make let-else respect macro_rules expr metavariable grouping
- PowerPC inline ASM: Fix scalar floats being in the wrong vector lane on little endian
- stabilize
Box::take - make closures act like MaybeDangling
- enable next solver by default in orphanck
- Error on projection of dyn noncompat type in old trait solver
- Stabilize
-Zprofile-sample-use
Compiler Team (MCPs only)
- Stop using dlltool for generating import libraries on MinGW
- Promote riscv64a23-unknown-linux-gnu to Tier 2 with host tools
- Drop tier 2
i686-pc-windows-gnuhost tools
Leadership Council
No Items entered Final Comment Period this week for Rust RFCs, Language Reference, Cargo, 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
Upcoming Events
Rusty Events between 2026-08-12 - 2026-09-09 🦀
Virtual
- 2026-08-13 | Virtual (Berlin, DE) | Rust Berlin
- 2026-08-13 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-08-14 | Virtual (Girona, ES) | Rust Girona
- 2026-08-16 | Virtual (Bangalore, IN) | Embedded Rust
- 2026-08-18 | Virtual (Washington, DC, US) | Rust DC
- 2026-08-19 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-08-20 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-08-20 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2026-08-21 | Virtual (Girona, ES) | Rust Girona
- 2026-08-25 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-08-27 | Virtual (Berlin, DE) | Rust Berlin
- 2026-08-28 | Virtual (Girona, ES) | Rust Girona
- 2026-08-31 | Virtual (Global) | Rust Maven
- 2026-09-01 | Virtual (Global) | Rust Maven
- 2026-09-02 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-09-04 | Virtual (Girona, ES) | Rust Girona
- 2026-09-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-09-08 | Virtual (London, UK) | Women in Rust
Africa
- 2026-09-08 | Johannesburg, ZA | Johannesburg Rust Meetup
Asia
- 2026-08-22 | Bangalore, IN | Rust Bangalore
- 2026-08-22 | Delhi, IN | Rust Delhi
- 2026-08-22 | Noida, IN | SciPy India
- 2026-08-29 | Pune, IN | Rust Pune
Europe
- 2026-08-13 | Switzerland, CH | PostTenebrasLab
- 2026-08-18 | Aarhus, DK | Rust Aarhus
- 2026-08-18 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2026-08-20 | Frankfurt, DE | Rust Rhein-Main
- 2026-08-27 | Manchester, UK | Rust Manchester
North America
- 2026-08-13 | Lehi, UT, US | Utah Rust
- 2026-08-13 | San Diego, CA, US | San Diego Rust
- 2026-08-15 | San Francisco, CA, US | Flower
- 2026-08-18 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-08-19 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-08-19 | San Francisco, CA, US | Bay Area Rust
- 2026-08-20 | Mountain View, CA, US | Hacker Dojo
- 2026-08-20 | New York, NY, US | Rust NYC
- 2026-08-20 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-08-26 | Austin, TX, US | Rust ATX
- 2026-08-26 | Los Angeles, CA, US | Rust Los Angeles
- 2026-08-27 | Atlanta, GA, US | Rust Atlanta
- 2026-09-03 | Saint Louis, MO, US | STL Rust
- 2026-09-08 | Montreal, QC, CA | Rust Foundation
- 2026-09-08 - 2026-09-11 | Montreal, QC, CA | RustConf 2026
- 2026-09-09 | Montreal, QC, CA | Women in Rust
Oceania
- 2026-08-27 | Melbourne, AU | Rust Melbourne
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 AI discussion was already put to bed as off topic and derailing. Do not summon the Mods so carelessly, as they are wroth, and filled with cruel vengeance.
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