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 on X (formerly Twitter) 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
Foundation
Project/Tooling Updates
- Fastrace: A Modern Approach to Distributed Tracing in Rust
- rust-analyzer changelog #278
- Introducing Cot v0.2: A new version of the Rust web framework for lazy developers
Observations/Thoughts
- Does unsafe undermine Rust's guarantees?
- Notes on coreutils in Rust
- Rust in 2025: Language interop and the extensible compiler
- Dyn async traits, part 10: Box box box
- Dyn you have idea for
dyn
? - Safe Delayed Initialization for Lifetime Extension
- Just write a test for it
- [audio] ExpressVPN with Pete Membrey
- Building a fast website with the MASH stack
Rust Walkthroughs
- A Daft proc-macro trick: How to Emit Partial-Code + Errors
- Vendoring C/C++ Dependencies in Rust
- Fastest Vec Update on My Computer
- A 10x faster batch job by batching PostgreSQL inserts/updates with Rust and SQLx
- Bridging the Efficiency Gap Between FromStr and String
- [video] Build with Naz : traits, subtyping, polymorphism in Rust
- [video] Rust and embedded programming with Leon Vak
Crate of the Week
This week's crate is jiff, a datetime library for Rust.
Thanks to Filip T 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, Rust language RFCs 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.
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.
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
496 pull requests were merged in the last week
Compiler
Library
MaybeUninit
inherent slice methods part 2- core/slice: mark some
split_off
variants unstably const - core: optimize
RepeatN
- implement default methods for
io::Empty
andio::Sink
- optimize
io::Write::write_fmt
for constant strings - simplify
PartialOrd
on tuples containing primitives - reduce
FormattingOptions
to 64 bits
Cargo
Rustdoc
- be more strict about "Methods from Deref"
- gate unstable
doc(cfg())
predicates - use own logic to print
#[repr(..)]
attributes in JSON output
Clippy
wildcard_imports
: lint onpub use
if asked to- add MSRV check for
question_mark
- add
ignore_without_reason
lint - emit
collapsible_match
at the right node - expand
neg_multiply
to lint float numbers as well - fix suggestion for assignments have enclosing parentheses under
needless_late_init
- fix:
borrow_deref_ref
suggests wrongly when coerce to mut - fix:
filter_map_bool_then
suggest wrongly when the closure cannot be decompose directly - fix:
manual_find
suggests wrongly when early return - fix:
missing_const_for_fn
false positive on unstable const traits - fix:
nonminimal_bool
wrongly showed the macro definition - fix:
option_if_let_else
false positive when value partially moved - fix:
redundant_clone
false positive onenum
cast - improve
string_to_string
lint in case it is in a map call - lint more cases in
collapsible_if
- make
never_loop
applicability more flexible - move
uninlined_format_args
back tostyle
- reinstate
single_match
/single_match_else
lints with comments - suggest
is_some_and
instead ofmap_or
incase_sensitive_file_extension_comparions
- unify
manual_unwrap_or
andmanual_unwrap_or_default
code - use
code
for references to other lints inas_conversions
docs
Rust-Analyzer
- fix ide-assist
let else
toif let else
- add diagnostic for missing ambiguity error for impl trait
- add postfix completion for const block
- add text edit support for return type hints on non-block body closures
- analysis-stats: emit lines of code and item tree counts for workspace; dependencies
- parse
unsafe
record fields - fix missing syntax highlighting for
&raw const
/&raw mut
in all files - fix closure return inlayhints using macro ranges
- handle multiple
#[repr(..)]
attrs correctly - properly calculate the layouts of tuple ptrs whose last fields are DST
- render layout and other extra information on hovering
Self
- speed up resolving a "Generate delegate method" assist
Rust Compiler Performance Triage
A nearly noise-free week, which is exciting, with a number of fairly large improvements landing for a cumulative average speed up 0.5%, possibly larger if we ignore the likely to be fixed or reverted regressions from #138674.
Triage done by @simulacrum. Revision range: 493c38ba..4510e86a
3 Regressions, 4 Improvements, 2 Mixed; 3 of them in rollups 35 artifact comparisons made in total
Read the full report for more details.
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
Rust RFCs
- Tracking Issue for slice::array_chunks
- stabilize const_cell
- Remove backticks from
ShouldPanic::YesWithMessage
'sTrFailedMsg
- Use
BinOp::Cmp
foriNN::signum
- Prefer built-in sized impls (and only sized impls) for rigid types always
Other Areas
- *No Items entered Final Comment Period this week for Cargo, 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
- No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2025-03-26 - 2025-04-23 🦀
Virtual
- 2025-03-27 | Virtual (Berlin, DE) | Rust Berlin
- 2025-04-01 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
- 2025-04-02 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2025-04-03 | Virtual (NĂĽrnberg, DE) | Rust Nurnberg DE
- 2025-04-05 | Virtual | Ardan Labs
- 2025-04-05 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2025-04-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2025-04-10 | Virtual (Berlin, DE) | Rust Berlin
- 2025-04-15 | Virtual (Washington, DC, US) | Rust DC
- 2025-04-16 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2025-04-17 | Virtual and In-Person (Redmond, WA, US) | Seattle Rust User Group
- 2025-04-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Asia
- 2025-03-28 | Kowloon Tong, HK | Rust Asia
- 2025-04-05 | Bangalore/Bengaluru, IN | Rust Bangalore
- 2025-04-22 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
Europe
- 2025-03-26 | Frankfurt, DE | Rust Rhein-Main
- 2025-03-26 | Manchester, UK | Rust Manchester
- 2025-03-26 | Warsaw, PL | Rustikon
- 2025-03-27 | Augsburg, DE | Rust Meetup Augsburg
- 2025-03-27 | Copenhagen, DK | Copenhagen Rust Community
- 2025-03-29 | Stockholm, SE | Stockholm Rust
- 2025-04-02 | Cambridge, UK | Cambridge Rust Meetup
- 2025-04-02 | MĂĽnchen, DE | Rust Munich
- 2025-04-02 | Oxford, UK | Oxford Rust Meetup Group
- 2025-04-02 | Stockholm, SE | Stockholm Rust
- 2025-04-03 | Oslo, NO | Rust Oslo
- 2025-04-08 | Olomouc, CZ | Rust Moravia
- 2025-04-09 | Girona, ES | Rust Girona
- 2025-04-09 | Reading, UK | Reading Rust Workshop
- 2025-04-10 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2025-04-15 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2025-04-15 | London, UK | Women in Rust
- 2025-04-19 | Istanbul, TR | TĂĽrkiye Rust Community
- 2025-04-23 | London, UK | London Rust Project Group
North America
- 2025-03-26 | Austin, TX, US | Rust ATX
- 2025-03-26 | Boston, MA, US | Boston Rust Meetup
- 2025-03-26 | New York, NY, US | Rust NYC
- 2025-03-27 | Atlanta, GA, US | Rust Atlanta
- 2025-03-29 | Boston, MA, US | Boston Rust Meetup
- 2025-03-31 | Boulder, CO, US | Solid State Depot
- 2025-04-03 | Chicago, IL, US | Chicago Rust Meetup
- 2025-04-03 | Montréal, QC, CA | Rust Montréal
- 2025-04-03 | Saint Louis, MO, US | STL Rust
- 2025-04-06 | Boston, MA, US | Boston Rust Meetup
- 2025-04-10 | Portland, OR, US | PDXRust
- 2025-04-14 | Boston, MA, US | Boston Rust Meetup
- 2025-04-17 | Nashville, TN, US | Music City Rust Developers
- 2025-04-17 | Redmond, WA, US | Seattle Rust User Group
- 2025-04-23 | Austin, TX, US | Rust ATX
Oceania
- 2025-04-14 | Christchurch, NZ | Christchurch Rust Meetup Group
- 2025-04-22 | Barton, AC, AU | Canberra Rust User Group
South America
- 2025-03-27 | MedellĂn, CO | Rust MedellĂn
- 2025-04-03 | Buenos Aires, AR | Rust en Español
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
Did it work? It’s Rust, so it worked on the first try!
– James Calligeros on the Asahi progress report
Thanks to yerke 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