2026-04-01

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.94.1

Program management update — February 2026

Foundation

Rust Foundation Joins Datadog’s Open Source Program

Project/Tooling Updates

Ntpd-rs: it's about time!

octopos: OS for risc-v in rust

Building a guitar trainer with embedded Rust

blogr v0.5.0 - blog without from your terminal

feedr v0.7.0 - terminal-based RSS/Atom feed reader

mdterm v2.0.0 - terminal-based Markdown browser

RustGrep: simple search for 114 Rust blogs

Rust's next-generation trait solver

Portable Async Rust

jsongrep faster than {jq, jmespath, jsonpath-rust, jql}

SeqPacker: 11 bin-packing algorithms in Rust

flodl v0.2.2: PyTorch parity in Rust

Observations/Thoughts

filtra.io | Breaking The AI Infra Monopoly With Rust- Tracel AI

Rust: Memory safety in kernel space | OSHub

Fixing our own problems in the Rust compiler

Bugs that the Rust compiler catches for you: The revolution of compiler-enforced correctness

I ported the OpenAI Python SDK to Rust in 5 days with Claude Code

[video] � Rust (mir) compiler bites: Closures — thou shalt not name this struct

[video] How C++ Finally Beats Rust at JSON Serialization

Rust Walkthroughs

Adding WASM Plugins to Your App

ZK snarks for rust developer part 3/8

Building a Crash-Safe Email Queue in Rust

Adding a Scripting Engine to a Rust CLI with Rhai

Crate of the Week

This week's crate is tsastat, a high-resolution Thread State Analysis (TSA) tool for Linux.

Thanks to Ankur Rathore 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.

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.

NDC Techtown | CFP open until 2024-04-14 | Kongsberg, Norway | 2024-09-09 - 2026-09-12.

EuroRust | CFP open until 2026-04-27 | Barcelona, Spain | 2026-10-14 - 2026-10-17

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

487 pull requests were merged in the last week

Compiler

add x86_64-unknown-linux-gnu{m,t}san target which enables {M,T}San by default

add -Zsanitize=kernel-hwaddress

Library

constify Step trait and all of its implementations

constify comparisons and Clone for core::mem::Alignment

constify const Fn*: Destruct

don't drop arguments' temporaries in dbg!

don't fuse in MapWindows

implement unchecked_funnel_{shl,shr}

reimplement hash_map! macro

make PinCoerceUnsized require Deref

stabilize new RangeFrom type and iterator

trim_prefix for paths

Cargo

resolver: better match rustc in error styling

build: cover more behavior of build.warnings

build: make it easier to review build.warnings behavior

Rustdoc

rustdoc rejects html emits with json output

Rustfmt

prevent panic when rewritng associated item delegations

Clippy

add manual_option_zip lint (a.and_then(|x| b.map(|y| (x, y))))

impl manual_noop_waker lint

explicit_counter_loop: suggest .take(n) for for _ in 0..n co…

iter_kv_map: handle identity map for map and flat_map

manual_pop_if: lint more cases, even if we do not provide a suggestion

fix collapsible_if false positive when the inner if contains cfg

preserve parentheses in suggestion in presence of cascaded casts

perf: reduce matching_root_macro_call usage (23b → 22.24b)

Rust-Analyzer

fix not applicable on ambiguous ident pat for merge_match_arms

complete envs in nested env!()

correct type_or_const param index bound in debug_assert

correct missing-args messages for sched_getaffinity and getenv shims

don't panic unmerge arm on trailing pipe

fix block lowering in ast id map

keep comments for 'Fill match arms'

postfix completions include nots prefix-expr

skip usages inside macro expansions in destructure struct/tuple binding

turn back TyLoweringContext.store to self after lowering parent defaults

wrap Option for desugar_try_expr_let_else

wrap Result for desugar_try_expr_let_else

wrap ty-anchor in non-path type constuctor

fully implement VariantFields expression support

hookup Signature Inference in more places

only allocate item blocks if they actually contain items or statement macros

remove Arc from GenericParams and AstIdMap

remove generate trait impl text intransitive from utils

Rust Compiler Performance Triage

We had some infrastructure troubles this week which prevented some rollup PRs from generating their
"unrolled" builds, which made rollup regression investigation more complicated, although we were
able to locate and revert the largest rollup regressions in the end. #154304 brought some nice improvements by optimizing the query system.

Triage done by @kobzol.
Revision range: 6f22f613..cf7da0b7

Summary:

(instructions:u)

mean

range

count

Regressions ❌
(primary)

0.4%

[0.1%, 1.2%]

4

Regressions ❌
(secondary)

0.3%

[0.1%, 0.5%]

12

Improvements ✅
(primary)

-0.8%

[-6.2%, -0.2%]

58

Improvements ✅
(secondary)

-0.4%

[-1.9%, -0.1%]

28

All ❌✅ (primary)

-0.8%

[-6.2%, 1.2%]

62

3 Regressions, 4 Improvements, 2 Mixed; 2 of them in rollups
35 artifact comparisons made in total

Full report here.

Approved RFCs

Changes to Rust follow the Rust RFC (request for comments) process. These
are the RFCs that were approved for implementation this week:

Mitigation enforcement

Add homogeneous_try_blocks

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 isolate_most_least_significant_one

Tracking Issue for int_lowest_highest_one

Tracking Issue for uint_bit_width

Tracking Issue for #138068: Add Result::map_or_default and Option::map_or_default

Do not use non-wf input expectations from fudge when checking function calls

Syntactically reject equality predicates

Tracking Issue for tcp_deferaccept

stabilize s390x vector registers

Replacing self overwriting with proper resolution

Rust RFCs

build-std: always

No Items entered Final Comment Period this week for
Cargo,
Compiler Team (MCPs only),
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

RFC: Associated traits

Add *be present* contribution policy

initial draft for 2026 project goals

Upcoming Events

Rusty Events between 2026-04-01 - 2026-04-29 �

Virtual

2026-03-26 | Virtual (Berlin, DE) | Rust Berlin

Rust Hack and Learn

2026-03-31 | Virtual (Tel Aviv-yafo, IL) | Code Mavens � - � - �

Web development using axum in Rust - part 1

2026-04-01 | Virtual (Girona, ES) | Rust Girona

Sessió setmanal de codificació / Weekly coding session

2026-04-01 | Virtual (Indianapolis, IN, US) | Indy Rust

Indy.rs - with Social Distancing

2026-04-02 | Virtual (Nürnberg, DE) | Rust Nuremberg

Rust Nürnberg online

2026-04-04 | Virtual (Kampala, UG) | Rust Circle Meetup

Rust Circle Meetup

2026-04-05 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup

Rust Deep Learning: First Sunday

2026-04-07 | Virtual (Tel Aviv-yafo, IL) | Code Mavens � - � - �

Web development using axum in Rust - part 2

2026-04-09 | Virtual (Berlin, DE) | Rust Berlin

Rust Hack and Learn

2026-04-14 | Virtual (Tel Aviv-yafo, IL) | Code Mavens � - � - �

Web development using axum in Rust - part 3

2026-04-14 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup

Second Tuesday

2026-04-14 | Virtual (London, UK) | Women in Rust

� Community Catch Up

2026-04-15 | Virtual (Girona, ES) | Rust Girona

Weekly coding session

2026-04-15 | Virtual (Vancouver, BC, CA) | Vancouver Rust

Nushell

2026-04-16 | Hybrid (Seattle, WA, US) | Seattle Rust User Group

April, 2026 SRUG (Seattle Rust User Group) Meetup

2026-04-19 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup

Rust Deep Learning: Third Sunday

2026-04-21 | Virtual (Washington, DC, US) | Rust DC

Mid-month Rustful

2026-04-22 | Virtual (Girona, ES) | Rust Girona

Weekly coding session

2026-04-23 | Virtual (Amsterdam, NL) | Bevy Game Development

Bevy Meetup #13

2026-04-23 | Virtual (Berlin, DE) | Rust Berlin

Rust Hack and Learn

2026-04-28 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup

Fourth Tuesday

2026-04-28 | Virtual (London, UK) | Women in Rust

Lunch & Learn: From Protobuf to Production - A Guide to gRPC in Rust

2026-04-29 | Virtual (Girona, ES) | Rust Girona

Weekly coding session

Asia

2026-04-11 | Bangalore, IN | Rust Bangalore

April 2026/Pre-Conference Rustacean meetup

2026-04-17 | Bangalore, IN | Rust India

Rust India Workshop

2026-04-18 | Bangalore, IN | Rust India

Rust India Conference

Europe

2026-04-01 | Berlin, DE | Rust Berlin

Rust Berlin Talks: The next generation

2026-04-01 | Edinburgh, UK | Rust and Friends

Rust and Friends (evening pub)

2026-04-01 | Köln, DE | Rust Cologne

Rust in April: From Zero to Rust

2026-04-01 | Oxford, UK | Oxford ACCU/Rust Meetup.

It came from another dimension!

2026-04-02 | London, UK | Rust London User Group

LDN Talks Spring Community Showcase

2026-04-02 | Toulouse, FR | Rust Toulouse

Rust Toulouse Meetup - Release, Servers & Ray Tracing Demystified

2026-04-03 | Edinburgh, UK | Rust and Friends

Rust and Friends (daytime coffee)

2026-04-07 | Basel, CH | Rust Basel

Rust Meetup #15 @ letsboot

2026-04-07 | Frankfurt, DE | Rust Rhein-Main

Building a drone from scratch with Rust (and some hardware)

2026-04-08 | Virtual (Girona, ES) | Rust Girona

Rust Girona Hack & Learn 04 2026

2026-04-09 | Geneva, CH | Rust Meetup Geneva

Rust Meetup Geneva

2026-04-09 | Oslo, NO | Rust Oslo

Rust talks @ AutoStore – "Patterns for Event Driven Systems" and "Rust + WASM"

2026-04-21 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig

Native GUIs with Rust

2026-04-23 | Aarhus, DK | Rust Aarhus

Talk Night and Birthday Party at MFT Energy

North America

2026-04-02 | Mountain View, CA, US | Hacker Dojo

RUST MEETUP at HACKER DOJO

2026-04-02 | Saint Louis, MO, US | STL Rust

SIUE Cruft Crawler with LLM

2026-04-04 | Boston, MA, US | Boston Rust Meetup

Winter Hill Rust Lunch, Apr 4

2026-04-07 | New York, NY, US | Rust NYC

Rust NYC: The Open Source Special

2026-04-09 | Chicago, IL, US | Chicago Rust Meetup

Rust Happy Hour

2026-04-09 | San Diego, CA, US | San Diego Rust

San Diego Rust April Meetup - Back in person!

2026-04-11 | Boston, MA, US | Boston Rust Meetup

Brookline Rust Lunch, Apr 11

2026-04-14 | Charlottesville, VA, US | Charlottesville Rust Meetup

Sharpening Your Rust Skills for Job Interviews

2026-04-15 | Hybrid (Vancouver, BC, CA) | Vancouver Rust

Nushell

2026-04-16 | Hybrid (Seattle, WA, US) | Seattle Rust User Group

April, 2026 SRUG (Seattle Rust User Group) Meetup

2026-04-18 | Boston, MA, US | Boston Rust Meetup

Harvard Square Rust Lunch, Apr 18

2026-04-20 - 2026-04-22 | Portland, OR | Tokio

TokioConf 2026

2026-04-21 | San Francisco, CA, US | San Francisco Rust Study Group

Rust Hacking in Person

2026-04-22 | Austin, TX, US | Rust ATX

Rust Lunch - Fareground

2026-04-23 | Los Angeles, CA, US | Rust Los Angeles

Rust LA April!

2026-04-25 | Boston, MA, US | Boston Rust Meetup

South Station Rust Lunch, Apr 25

Oceania

2026-04-09 | Brisbane City, QL, AU | Rust Brisbane

Rust Brisbane Apr 2026

South America

2026-04-11 | Buenos Aires, AR | Oxidar Org

Oxidar.org Hackaton - Snakear - ¡Veni a hackear con Rust!

2026-04-17 | Rio de Janeiro, BR | Meetups Rust RJ

Meetup Rust RJ

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

When you do cursed things, problems find you.

– Folkert de Vries on the trifecta tech blog

We have gone four weeks bare of suggestions for quotes. llogiq is still fine with his choice, but he'd be much more happy if any of you would help him in his search.

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

Discuss on r/rust

Show more