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
Project/Tooling Updates
- afrim 0.7.0: a generic input method framework
- Sharing Rust build work across Cargo worktrees with cargo-reapi
- exiftool-rs 0.7.0: localizing ExifTool's PrintConv values, not just its labels
- Announcing SeaORM 2.0
- kobe 0.37.0: easier to deploy and install
- kache 0.12.0: pluggable remotes, smarter GC, sharper diagnostics
- Progress toward compiling Linux with gccrs
- flodl 0.7.0: one dashboard view, repeated at every level
- samkhya 1.2.1 — the join-cardinality ceiling becomes provable
- BrewFS: a Rust and JuiceFS-like distributed filesystem
Observations/Thoughts
- Improving std::simd::swizzle_dyn
- Query cycles: A compiler murder mystery
- GDPatch: a versatile Godot mod loader
- Memory Safety Absolutists
- C++ to Rust Migration
- High-Performance Flat 2D Arrays in Rust with SIMD, L1 Cache
- Building Java–Rust Microservices with TeaQL: Models, Events, and Audit Intent
- How We Cut a Trading Bot's Reaction Time from ~2 Seconds to Milliseconds — by Moving Only the Hot Path to Rust
- ESP32 Server: Distributing HTTP/2 streams over TLS
- [video] Rust Berlin Talks · 23/07/2026
Rust Walkthroughs
- No Tokens Yet Does Not Mean a Rust LLM Stream Is Safe to Retry
- [series] Rama 101.2: Core Concepts
- [video] [series] What's Inside Axum?
Crate of the Week
This week's crate is cargo-efmt, a drop-in replacement for cargo fmt to support .editorconfig.
Thanks to kleines Filmröllchen 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
570 pull requests were merged in the last week
Compiler
- apply RemoveNoopLandingPads post-monomorphization
- closures inherit
#[optimize]from the enclosing function by default - fix
boolcalling convention for aarch64, etc - optimize
escape_string_symbol() proc_macro: Fixcfg_attrinner attrs in file modules- resolve: more preperation work for parallelizing the import resolution loop
- stabilize c-variadic function definitions
Library
- constify
vec![1, 2, 3]macro - core: implement
Rngfor references - define a
Simdtype inminicore - implement
CovariantUnsafeCell - implement
str::copy_from_str - iter: extend
step_byspecialization to coverStepBy<RangeIter<{integer}>> - move
std::io::bufferedtoalloc::io - num: improve error messages for
TryFromIntError - str: add ASCII fast path to
word_to_titlecase - switch implementations of
thread_local!for WASI
Cargo
- add haiku's dylib path
diag: bound transitive unused dependency traversalgit: Hide git fetch output without progressgit: Suggest libgit2 if git-cli failstest: gate trim-paths tests on split debuginfo supporttoml: warn on hyphenated lint names and duplicates- allow setting
-Zembed-metadatavalue from the config - enable build-dir layout v2 on nightly by default
- zsh completion: Add
-pand--packageflags forcargo add
Rustfmt
- allow file not found errors for external mods annotated with
#[my_macro] - discover modules via
cfg_select!
Rustdoc
- add paths for linked associated items
- Retrieve
cfg_attrinformation for derived impls fordoc_cfgfeature - only build extern trait impls if needed
- only inline impls for local primitives
Clippy
- add
EULER_GAMMAandGOLDEN_RATIOtoapprox_constant - add
assert_is_emptylint - apply safety comment to compound assignment statement
blocks_in_conditions: Don't lint if the block creates temporarie…- call
in_external_macroafter running other checks in various places - do not trigger
clippy::exitwhen expression comes from an external macro duration_suboptimal_units: print the complete method name in the suggestion- extend
branches_sharing_codeto match arms with a shared tail min_ident_charslint short idents even if follows trait namingmultiple_unsafe_ops_per_block: false positive in with taking an reference to a static, but not reading/writing it- fix
four_forward_slashesfalse positive on inner doc comments lint-page: add accessible labels to filters- new lint:
nonnull_unchecked_on_box_ptr - perf: avoid per-call type and path work in
unnecessary_mut_passed - perf: find tab groups in doc comments without allocating
- rewrite
EndianByteslint pass
Rust-Analyzer
- add diagnostic for
structpatterns which don't specify sub-patterns for its fields - add parentheses for invert general expression
- attach db on worker threads in parallel analysis-stats inference
- change unsupported toolchain version to match reality
- discover protocol should only parse stdout
- do not detect
#[rust_analyzer]as#[rust_analyzer::rust_fixture] - don't offer
replace_qualified_name_with_useon an unqualified path - don't panic on a qualified path whose trait is not a trait
- don't pick a discriminant type larger than typeck's
- fix stale lock file
- fix
.zip(None)call - give
impl_trait_with_diagnosticsa cycle result - make analysis-stats progress bar Unicode-safe
merge_importspanic on invalid paths- panic on macro-defined structs with unknown fields
- prefer
allocoverstdpaths whenpreferNoStdis set - record obligation chain for unimplemented trait diagnostics and show it
- replace detach with delete for
ast::IdentPat - resolve path on all namespace on
resolve_path - respect
references.exclude[Tests/Imports]in references lens - scoped lazy priming
- support inactive-code diagnostic in macros
- uses bool instead pat ty in guard
Rust Compiler Performance Triage
Several large improvements landed in the past week:
- rustdoc is on average roughly 16% faster across all of our doc benchmarks:
- rustdoc: Only inline impls for local primitives, 7% faster doc builds
- rustdoc: Only synthesize auto/blanket impls for documented items, another 7% faster doc builds
- rustdoc: Only build extern trait impls if needed, another 10% faster doc builds
- Early removal of no-op panic handling in debug builds. This speeds up Cargo by ~4% in cycle count.
- Optimize escape_string_symbol() sped
up large
include_bytes!/include_str!through changes to string escaping, avoiding a regression in upcoming LLVM 23 upgrade.
Great to see so many improvements!
Triage done by @simulacrum. Revision range: d527bc9b..ad0c9dce
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
- Shallow resolve ty and const vars to their root vars, attempt 2
- Ensure inferred let pattern types are well-formed
- stabilize
c_variadic_naked_functions - lint against repeated repr attributes
- Stabilize passing 128-bit integers via vector registers with
asm!on x86 - Add new
invalid_markdown_tablerustdoc lint - allocations: document that they can be read-only
- allocations are allowed to grow (but not shrink)
- Tracking Issue for
bool::toggle - Tracking Issue for const_btree_len
Compiler Team (MCPs only)
- Wasm proc macro support
-
Optimize repr(Rust) enums by omitting tags in more cases involving uninhabited variants.
- Proposal for Adapt Stack Protector for Rust
Rust RFCs
Cargo
- feat(profile): Add built-in profile debug
- feat(toml): allow overriding inherited default-features in 2024
No Items entered Final Comment Period this week for Language Reference, 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
Upcoming Events
Rusty Events between 2026-07-29 - 2026-08-26 🦀
Virtual
- 2026-07-30 | Virtual (Berlin, DE) | Rust Berlin
- 2026-07-31 | Virtual (Girona, ES) | Rust Girona
- 2026-08-01 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2026-08-02 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-08-03 | Virtual (Global) | Rust Maven
- 2026-08-04 | Virtual (London, UK) | Women in Rust
- 2026-08-04 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
- 2026-08-05 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-08-05 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-08-07 | Virtual (Girona, ES) | Rust Girona
- 2026-08-11 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 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-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
Africa
- 2026-08-11 | 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
Europe
- 2026-07-29 | Poland, PL | Rust Poland
- 2026-07-30 | Copenhagen, DK | Copenhagen Rust Community
- 2026-07-30 | Manchester, UK | Rust Manchester
- 2026-08-06 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 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
North America
- 2026-07-30 | Atlanta, GA, US | Rust Atlanta
- 2026-08-01 | Boston, MA, US | Boston Rust Meetup
- 2026-08-04 | Boston, MA, US | Boston Rust Meetup
- 2026-08-06 | Mountain View, CA, US | Hacker Dojo
- 2026-08-06 | Saint Louis, MO, US | STL Rust
- 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 | Rust Bay Area
- 2026-08-20 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-08-26 | Austin, TX, US | Rust ATX
Oceania
- 2026-07-30 | Melbourne, AU | Rust Melbourne
South America
- 2026-08-08 | São Paulo, SP | Rust-SP
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
So let's talk about what the process has looked like for Netstack3. For 11 months, the team has been ramping up a dogfooding program. At peak, that program has seen about 60 devices running nearly 24/7 in developers' homes.
Again, if this were any other netstack, we would have expected to uncover a giant mountain of bugs in that time. So, over the past year, how many bugs did the team uncover in the field?
Three.
– Josh Liebow-Feeser on his blog
llogiq again has no one to thank for a suggestion, so he is thankful to himself for finding this quote instead.
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