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
Newsletters
Project/Tooling Updates
- Bevy 0.17
- Linting Rust code in the kernel
- Fast UDP I/O for Firefox in Rust
- genedex: A Small and Fast FM-Index for Rust
- blogr v0.3.0 - Fast, lightweight static site generator with built in newsletter manager
- Feedr v0.2.0 - A feature-rich terminal-based RSS feed reader with a clean and intuitive TUI
- Glues v0.8.1 adds a browser TUI, proxy support, and redb storage
- Role Based Access Control in SeaORM 2.0
Observations/Thoughts
- On Choosing Rust
- The expression problem and Rust
- Case Study: How Proton uses Rust to build cross-platform applications for millions of people
- The Game Engine that would not have been made without Rust
- Introducing Rust To The Automotive Stack: A Conversation With Julius Gustavsson Of Volvo Cars
- Rust in Paris 2025 – Full Talks Playlist
- [video] How to Optimize Rust for Slowness: Inspired by New Turing Machine Results
Rust Walkthroughs
- Under the hood: Vec\<T>
- Axum Backend Series: Implement JWT Access Token
- Level Up your Rust pattern matching
- [video] Sguaba: Type-safe spatial math in Rust
Miscellaneous
- Cloudflare just got faster and more secure, powered by Rust
- Rust: Who, What and Why for ESA SW PA Workshop
Crate of the Week
This week's crate is blogr, a fast, lightweight static site generator.
Thanks to Gokul 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 language RFCs, Cargo or Rustup.
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.
- Diesel - Feedback on an All About Select guide
- Diesel - Incomplete explanation for PgConnection loading modes
- Diesel - FromSqlRow derive macro fails when in scope where Ok is not the one from the standard library
- Diesel - fk_related_tables not working correctly with two foreign keys to same table
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 X (formerly Twitter) 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 X (formerly Twitter) or Mastodon!
Updates from the Rust Project
473 pull requests were merged in the last week
Compiler
- add an attribute to check the number of lanes in a SIMD vector after monomorphization
- add panic=immediate-abort
- skip stack overflow handler for panic=immediate-abort
- allow
&raw [mut | const]
for union field in safe code - debuginfo: add an unstable flag to write split DWARF to an explicit directory
- detect tuple structs that are unconstructable due to re-export
- do not compute optimized MIR if code does not type-check
- do not materialise X in
[X; 0]
when X is unsizing a const - improve diagnostics for empty attributes
Library
- BTreeMap: don't leak allocators when initializing nodes
- constify {
Mutex
,RwLock
,ReentrantLock
}::data_ptr
- constify Default on Nanoseconds
- constify
{float}::total_cmp()
- unstably constify float
mul_add
methods - non-panicking
Vec::try_remove
- fix infinite recursion in
Path::eq
with String - implement
hostname
- remove most
#[track_caller]
from allocating Vec methods
Cargo
- config: combine key error context into one
- shell: Use a distinct style for transient status
- add retry for
git fetch
failures inCARGO_NET_GIT_FETCH_WITH_CLI
path - better error message for rust version incompatibility
- sparse URLs in
TomlLockfileSourceId
- use
host-tuple
for host target subsitution
Rustdoc
- Add support for associated items in "jump to def" feature
- add rustdoc
doc_cfg
features (RFC #3631) - search: use the same ID for entry and path to same item
- hide
#[repr]
if it isn't part of the public ABI - put the toolbar on the all item index
Clippy
double_parens
: add structured suggestions, fix bugfilter_next
: check forfilter().next_back()
collapsible
(_else
)_if
: respect#[expect]
on innerif
let_unit_value
: create the suggestion "differentially"new_without_default
: ifnew
has#[cfg]
, copy that ontoimpl Default
or_fun_call
: respect MSRV forResult::unwrap_or_default
suggestionshould_implement_trait
: only suggest traits that are in the preludeunnecessary_mut_passed
: retain parens around the arguments- check for proc macros from within
explicit_deref_methods
and do not lint on proc macro expansions - fix
new_without_default
false positive on private type with trait impl - overhaul
mut_mut
- refactor
module_style
- rename
unchecked_duration_subtraction
tounchecked_time_subtraction
and check forDuration - Duration
Rust-Analyzer
- add
all
,any
andnot
completions in#[cfg]
- add
cfg_attr
predicate completion - add applicable on bang
!
forapply_demorgan
- add const parameter keyword completion
- add let-chain support for
convert_to_guarded_return
- allow
&raw
{mut
,const
} for union field - fix "Replace match with if let" not to trigger when invalid transformations occur
- fix SCIP panicking due to salsa not attaching
- fix applicable on if-let-chain for
invert_if
- fix expand rest pattern in tuple and slice pattern
- fix precedence parenthesis for
replace_arith_op
- don't turn unused variables into raw identifier
- implement fallback properly
- support negative integer literals in const generics in declarative macros
Rust Compiler Performance Triage
A relatively quiet week. Most of the improvements are to doc builds, driven by continued packing of the search index in rustdoc-search: stringdex update with more packing #147002 and simplifications to doc(cfg) in Implement RFC 3631: add rustdoc doc_cfg features #138907.
Triage done by @simulacrum. Revision range: ce4beebe..8d72d3e1
1 Regressions, 6 Improvements, 4 Mixed; 2 of them in rollups 29 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
- Tracking Issue for
const_slice_rotate
- implement Extend<{Group, Literal, Punct, Ident}> for TokenStream
- Stabilize
char_max_len
- Add
From
impls for wrapper types - prefer alias candidates for sizedness + auto trait goals
- Tracking Issue for
NonZero<u*>::div_ceil
- Tracking issue for release notes of #146410: Iterator repeat: no infinite loop for
last
andcount
- Stabilize
rwlock_downgrade
library feature - Prevent downstream
impl DerefMut for Pin<LocalType>
- Forbid freely casting lifetime bounds of dyn-types
- Fix accidental type inference in array coercion
- docs(style): Specify the frontmatter style
- core: simplify
Extend
for tuples
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
- No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2025-10-01 - 2025-10-29 🦀
Virtual
- 2025-10-01 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-10-02 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
- 2025-10-04 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-10-05 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-10-07 | Virtual (Beijing, CN) | WebAssembly and Rust Meetup (Wasm Empowering AI)
- 2025-10-09 - 2025-10-10 | Hybrid (Paris, FR) | EuroRust
- 2025-10-09 | Virtual (Berlin, DE) | Rust Berlin
- 2025-10-09 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
- 2025-10-12 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-10-14 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-10-15 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-10-16 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
- 2025-10-16 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2025-10-18 | Virtual (Gdansk, PL) | Stacja IT Trójmiasto
- 2025-10-19 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-10-21 | Virtual (London, UK) | Women in Rust
- 2025-10-21 | Virtual (Washington, DC, US) | Rust DC
- 2025-10-23 | Virtual (Berlin, DE) | Rust Berlin
- 2025-10-23 | Virtual (Girona, ES) | Rust Girona | Silicon Girona
- 2025-10-26 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-10-28 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Asia
- 2025-10-02 | Seoul, KR | Seoul Rust (Programming Language) Meetup
- 2025-10-04 | Bangalore, IN | Rust Bangalore
- 2025-10-08 | Kuala Lumpur, MY | Rust Malaysia
- 2025-10-09 | Tokyo, JP | Tokyo Rust Meetup
- 2025-10-20 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
Europe
- 2025-10-01 | Köln, DE | Rust Cologne
- 2025-10-01 | Olomouc, CZ | Rust Moravia
- 2025-10-01 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 2025-10-01 | Paris, FR | Paris Rustaceans
- 2025-10-02 | Berlin, DE | Rust Berlin
- 2025-10-02 | Oslo, NO | Rust Oslo
- 2025-10-08 | Girona, ES | Rust Girona
- 2025-10-08 | Paris, FR | Rust Paris
- 2025-10-08 | Reading, UK | Reading Rust Workshop
- 2025-10-09 - 2025-10-10 | Hybrid (Paris, FR) | EuroRust
- 2025-10-14 | Basel, CH | Rust Basel
- 2025-10-21 | Aarhus, DK | Rust Aarhus
- 2025-10-21 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2025-10-21 | London, UK | London Rust Project Group
- 2025-10-21 | Bergen, No | Rust Bergen
- 2025-10-28 | Manchester, UK | Rust Manchester
North America
- 2025-10-01 | Los Angeles, CA, US | Rust Los Angeles
- 2025-10-02 | Montréal, QC, CA | Rust Montréal
- 2025-10-02 | Mountain View, CA, US | Hacker Dojo
- 2025-10-02 | Saint Louis, MO, US | STL Rust
- 2025-10-04 | Boston, MA, US | Boston Rust Meetup
- 2025-10-09 | Lehi, UT, US | Utah Rust
- 2025-10-15 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2025-10-16 | Mountain View, CA, US | Hacker Dojo
- 2025-10-21 | San Francisco, CA, US | Vara & Gear
- 2025-10-21 | San Francisco, CA, US | San Francisco Rust Study Group
- 2025-10-22 | Austin, TX, US | Rust ATX
- 2025-10-23 | Nashville, TN, US | Music City Rust Developers
- 2025-10-25 | Boston, MA, US | Boston Rust Meetup
Oceania
- 2025-10-22 | Perth, AU | Rust Perth Meetup Group
- 2025-10-28 | Barton, AU | Canberra Rust User Group
South America
- 2025-10-08 | Buenos Aires, AR | Rust en Español
- 2025-10-25 | São Paulo, 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 must personally extend my condolences to those who forgot they chose in the past to annoy their future self.
Thanks to Riking for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation