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
MaybeUninitinherent slice methods part 2- core/slice: mark some
split_offvariants unstably const - core: optimize
RepeatN - implement default methods for
io::Emptyandio::Sink - optimize
io::Write::write_fmtfor constant strings - simplify
PartialOrdon tuples containing primitives - reduce
FormattingOptionsto 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 useif asked to- add MSRV check for
question_mark - add
ignore_without_reasonlint - emit
collapsible_matchat the right node - expand
neg_multiplyto lint float numbers as well - fix suggestion for assignments have enclosing parentheses under
needless_late_init - fix:
borrow_deref_refsuggests wrongly when coerce to mut - fix:
filter_map_bool_thensuggest wrongly when the closure cannot be decompose directly - fix:
manual_findsuggests wrongly when early return - fix:
missing_const_for_fnfalse positive on unstable const traits - fix:
nonminimal_boolwrongly showed the macro definition - fix:
option_if_let_elsefalse positive when value partially moved - fix:
redundant_clonefalse positive onenumcast - improve
string_to_stringlint in case it is in a map call - lint more cases in
collapsible_if - make
never_loopapplicability more flexible - move
uninlined_format_argsback tostyle - reinstate
single_match/single_match_elselints with comments - suggest
is_some_andinstead ofmap_orincase_sensitive_file_extension_comparions - unify
manual_unwrap_orandmanual_unwrap_or_defaultcode - use
codefor references to other lints inas_conversionsdocs
Rust-Analyzer
- fix ide-assist
let elsetoif 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
unsaferecord fields - fix missing syntax highlighting for
&raw const/&raw mutin 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::CmpforiNN::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