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
- Announcing Rust 1.88.0 | Rust Blog
- Now accepting Project Goal proposals for 2025H2
- 2025 Leadership Council Survey
- Program management update — June 2025
Newsletters
Project/Tooling Updates
- Announcing TokioConf 2026
- rust-analyzer Changelog #292
- How to write Rust in the kernel: part 2
- Asterinas: a new Linux-compatible kernel project
- Diesel Async 0.6.0
- Kiorg - a new lightingly fast cross-platform filemanager with VIM inspired keybind
- Progress report on rustc_codegen_cranelift (June 2025)
Observations/Thoughts
- How much code does that proc macro generate?
- Leaktracer: A Rust allocator to trace memory allocations
- Cross-Compiling 10,000+ Rust CLI Crates Statically
- "Why is the Rust compiler so slow?"
- A Newbie's First Contribution to (Rust for) Linux
- Exception handling in rustc_codegen_cranelift
- Why I Choose Rust to Build a Full-Stack Admin System
- [video] Top 10 Games from Bevy Jam 6
- [video] Threads - Part 15 of Idiomatic Rust in Simple Steps
- [audio] 1Password with Andrew Burkhart
- [audio] Dioxus with Jonathan Kelley
- [audio] Malachite with Adi Seredinschi
Rust Walkthroughs
Miscellaneous
Crate of the Week
This week's crate is ansic, a proc macro providing a DSL to output ANSI escape strings with zero runtime overhead.
Thanks to Zeon 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, 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.
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 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
429 pull requests were merged in the last week
Compiler
- add
#[loop_match]
for improved DFA codegen - add runtime check to avoid overwrite arg in
Diag
- check
CoerceUnsized
impl validity before coercing - compute hard errors without diagnostics in
impl_intersection_has_impossible_obligation
- collapse Analysis|Borrowck|PostBorrowckAnalysis when there are no opaques
- encode hir attributes cross-crate properly
- fast path for WF goals in new solver
- implement parsing of pinned borrows
- improve recovery when users write
where
: - introduce
ByteSymbol
- new const traits syntax
- only compute recursive callees once
- shallowly bail from
coerce_unsized
more - simplify
ObligationCauseCode::IfExpression
Library
- add SIMD funnel shift and round-to-even intrinsics
- make RefCell unstably const
- make
Sub
, Mul, Div
andRem const_traits
Cargo
- add
http.proxy-cainfo
config for proxy certs - expand error messages around path dependency on
cargo package
andcargo publish
- override
Cargo.lock
checksums when doing a dry-runpublish
- rework
cargo-test-support
&testsuite
to useCARGO_BIN_EXE_*
for Cargo
Rustdoc
Clippy
missing_panics_doc
: Allowunwrap()
andexpect()
inside const-only contextszero_ptr
: lint inconst
context as well- consider deref'ed argument as non-temporary
cast_possible_truncation
should not suggest inside const context- fix
coerce_container_to_any
false positive on autoderef - fix
disallowed_script_idents
FP on identifiers with_
Rust-Analyzer
- de-arc trait items query
- do not append
--compile-time-deps
to overwritten build script commands - drop rustc workspace loading error, if we don't needs its sources
- highlighting of return values while the cursor is on
match
/if
/=>
- fix completion in when typing
integer.|
- prettify AST in
PathTransform
if it's coming from a macro - parse new const trait syntax
- remove last use of
rustc_pattern_analysis::Captures
- remove unnecessary parens in closure
- salsa idiomize
VariantFields
query
Rust Compiler Performance Triage
Lots of changes this week with results dominated by the 1-5% improvements from #142941 across lots of primary benchmarks in the suite.
Triage done by @simulacrum. Revision range: 42245d34..ad3b7257
3 Regressions, 6 Improvements, 5 Mixed; 4 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:
- 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
- [disposition: close] Draft: Make into_parts methods on Vec associated functions
- Implement
Debug
forEncodeWide
- If
HOME
is empty, use the fallback instead - Tracking Issue for duration_constructors_lite
- Print thread ID in panic message
Rust RFCs
Cargo
- Add
[hints]
table inCargo.toml
, and ahints.mostly-unused
hint - feat(publish): Stabilize multi-package publishing
No Items entered Final Comment Period this week for Language Reference, 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
- No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2025-07-02 - 2025-07-30 🦀
Virtual
- 2025-07-02 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-07-03 | Virtual (Berlin, DE) | Rust Berlin
- 2025-07-03 | Virtual (Rotterdam, NL) | Bevy Game Development
- 2025-07-05 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-07-06 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-13 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-15 | Virtual (London, UK) | Women in Rust
- 2025-07-15 | Virtual (Washington, DC, US) | Rust DC
- 2025-07-16 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2025-07-17 | Virtual (Berlin, DE) | Rust Berlin
- 2025-07-20 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-07-22 | Virtual (London, UK) | Women in Rust
- 2025-07-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Asia
- 2025-07-02 | Seoul, KR | Seoul Rust (Programming Language) Meetup
Europe
- 2025-07-02 | Basel, CH | Rust Basel
- 2025-07-02 | Frankfurt, DE | Rust Rhein-Main
- 2025-07-02 | London, UK | Oxford Rust Meetup Group
- 2025-07-02 | Posnan, PL | Rust Poland
- 2025-07-03 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2025-07-05 | Stockholm, SE | Stockholm Rust
- 2025-07-08 | London, UK | London Rust Project Group
- 2025-07-09 | Girona, ES | Rust Girona
- 2025-07-09 | Reading, UK | Reading Rust Workshop
- 2025-07-15 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2025-07-15 | London, UK | London Rust Project Group
- 2025-07-23 | Dortmund, DE | Rust Dortmund
- 2025-07-24 | Edinburgh, UK | Rust and Friends
- 2025-07-24 | Nuremberg/Nürnberg, DE | Rust Nuremberg
- 2025-07-29 | Manchester, UK | Rust Manchester
- 2025-07-30 | Amsterdam, NL | Rust Developers Amsterdam Group
North America
- 2025-07-03 | Montréal, QC, CA | Rust Montréal
- 2025-07-03 | Saint Louis, MO, US | STL Rust
- 2025-07-06 | Boston, MA, US | Boston Rust Meetup
- 2025-07-07 | Denver, CO, US | FOSS Rust Colorado
- 2025-07-08 | New York, NY, US | Rust NYC
- 2025-07-09 | Phoenix, AZ, US | Desert Rust
- 2025-07-10 | Mountain View, CA, US | Hacker Dojo
- 2025-07-15 | San Francisco, CA, US | San Francisco Rust Study Group
- 2025-07-17 | Nashville, TN, US | Music City Rust Developers
- 2025-07-17 | Redmond, WA, US | Seattle Rust User Group
- 2025-07-23 | Austin, TX, US | Rust ATX
South America
- 2025-07-12 | São Paulo, BR | Rust São Paulo Meetup
- 2025-07-17 | Florianópolis, BR | Rust Brazil + Rust Floripa
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 love Rust, so I was already biased to be positive about the Rust for Linux project, even before dabbling with it myself. I'm genuinely surprised to be even more optimistic now than before. The coding part was much easier than I imagined, thanks to the use of reference counting in the kernel.
And the promised benefits of Rust over C? They're absolutely real. The Rust version of the driver feels way more robust than the C code, not just regarding memory safety. It didn't have a single bug: Once it compiled, it worked. That's not a huge deal considering it was a direct rewrite, but it counts for something.
– Remo Senekowitsch blogging about their Rust 4 Linux adventure
Despite a lamentable lack of suggestions, llogiq is reasonably pleased with his choice.
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