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.18
- Exponential growth continued — cargo-semver-checks 2025 Year in Review
- This Week in Slatron v1.1: The intelligent TV station manager introduces AI DJ hosts w/ TTS support for DIY hackable TV stations, radio, and digital signage.
- SeaORM 2.0 Migration Guide
- BugStalker v0.4.0 - Modern debugger for Linux x86-64. Written in Rust for Rust programs. now with VSCode support.
- Announcing cadd: a library for painless checked arithmetic and conversions
- READ_ONCE(), WRITE_ONCE(), but not for Rust
- GuardianDB 0.14.0 - High-performance, local-first decentralized database built on Rust and Iroh
- A year of work on the ALPM project
- GlueSQL v0.19 adds parameter binding and customizable query planners
- diesel-guard: Your Diesel Migrations Might Be Ticking Time Bombs.
- The Rapier physics engine 2025 review and 2026 goals
- Tako v0.5.0 → v0.7.1-2: from "nice router" to "mini platform"
Observations/Thoughts
- The State of Rust Cryptography in 2026
- Garbage collection is contrarian
- Virtual Places and Borrow Checker Integration
- [video] 39c3 - Xous: A Pure-Rust Rethink of the Embedded Operating System
- [video] Fast and Safe Image Decoding in Rust
- [video] ere: Compiling Regular Expressions at Build-Time
- [video] Rust at Volvo Cars
- [audio] Radar with Jeff Kao
Rust Walkthroughs
[ES] Command Pattern in Rust: When intent doesn't need to be an object
- [series] Part 3: Model Architecture, Building an LLM from Scratch in Rust
- The Impatient Programmer’s Guide to Bevy and Rust: Chapter 5 - Let There Be Pickups
- [audio] Netstack.FM episode 22 — Rust URL with Simon Sapin
Miscellaneous
Crate of the Week
This week's crate is diesel-guard, a linter against dangerous Postgres migrations.
Thanks to Alex Yarotsky 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.
- Diesel - diesel print-schema produces uncompileable schema with column named "table"
- GuardianDB - Create Benchmarks
- GuardianDB - Create cohesive usage examples
- GuardianDB - Translate documentation to English
- rung - Add shell completions for bash/zsh/fish
- rung - Add --quiet flag to suppress non-essential output
- rung - Support NO_COLOR environment variable
- rung - Add rung top / rung bottom navigation commands
- rung - Add rung log command to show stack commits
- rung - Add integration test for sync with merge conflicts
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.
- RustWeek 2026 | CFP closes 2026-01-18 | Utrecht, The Netherlands | 2026-05-19 - 2026-05-20
- RustConf 2026 | CFP closes 2026-02-16 | Montreal, Quebec, Canada | 2026-09-08 - 2026-09-11
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
539 pull requests were merged in the last week
Compiler
Library
- add
AtomicPtr::null Vec::pushin consts MVP- add allocator parameter to
HashMap - implement
partial_sort_unstablefor slice - reflection MVP
- stabilize
Peekable::next_if_map(#![feature(peekable_next_if_map)]) - stabilize
slice::element_offset
Cargo
docs(unstable): expand docs for-Zbuild-analysisfeat(test): MakeCARGO_BIN_EXE_available at runtimefix(build-std): std link metadata propagate to userfix(info): resolve underscore vs hyphen mismatch in schema lookupfix(package): detect dirty files when run from workspace member- add Clippy like lint groups
- add
--idflag tocargo report timingsandcargo report rebuilds - display lockfile path in very verbose mode when blocking
- feat: in-memory only
Manifest - fix(timing)!: remove
--timings=<FMT>optional format values - fix: preserve
dep_namefor build script metadata - fixed incorrect version comparision during build script dependency selection
- improve error message for missing dependencies
- isolate build script metadata progation between std and non-std crates
- refactor: new type for unit index
- test: add
-Zunstable-optionswith custom targets
Rustdoc
Clippy
- A
returnin an iterator closure should not triggernever_loop strlen_on_c_strings: mention the specific type (CString orCStr)float_point_arithmetic: respect reduced applicabilitysingle_range_in_vec_init: don't apply the suggestion automaticallyunnecessary_map_or: respect reduced applicabilityuseless_conversion: respect reduced applicabilitymissing_enforced_import_rename: Do not enforce for underscoressuspicious_to_owned: improve lint messagestransmuting_null: Add checks forwithout_provenanceandwithout_provenance_mut- add new
duration_suboptimal_unitslint - allow
expectonimplforderive_ord_xor_partial_ord - clean-up
unnecessary_map_orandmanual_is_variant_and - do not ignore statements before a
breakwhen simplifying loop - do not show spans from external crates in
missing_trait_methods - do not warn about large stack arrays without having a valid span
- do not warn on arithmetic side effect for
String+String - enhance
needless_collectto cover vecpush-alike - fix
LimitStack::pop_atrin release builds - fix
clippy_utils::std_or_core(_)markingno_corecrates asstd - fix
map_unwrap_orfail to coverResult::unwrap_or - fix
significant_drop_tighteningsuggests wrongly for non-method usage - fix
str_to_stringwrongly unmangled macros - fix
unnecessary_to_ownedwrongly unmangled macros - fix: restrict
match_boolto 2 arms - improve
useless_conversion .into_iter()suggestion for nested references - more fixes for handling of macros
- overhaul
int_plus_one
Rust-Analyzer
- add inherit attributes for
extract_functionassist - configure flycheck using workspace.discoverConfig
- allow rust paths in symbol search
- fix ignore flag for test attributes with values
- fix loses exists guard for
move_guard - fix not applicable on statement for
convert_to_guarded_return - fix not complete
mutandrawin&x.foo() - fix not disable string escape highlights
- disable
unused_variablesandunused_mutwarnings - fix crate root search in world symbols duplicating root entries
- fix lifetimes len diagnostics for fn pointers
- fixes for builtin derive expansions
- hide renamed imports from macros in symbol index
- lowering crash with supertrait predicates
- make
naked_asm!()always return! - properly lower
SelfOnlypredicates - remove code made redundant by method resolution rewrite
- suggest traits other than ones in the environment crate
- sync cast checks to rustc again
- implement
Span::ByteRangefor proc-macro-srv - migrate
generate_mut_trait_implassist to use SyntaxEditor
Rust Compiler Performance Triage
Fairly quiet week, most changes due to new features which naturally carry some overhead for existing programs. Overall though a small improvement.
Triage done by @simulacrum. Revision range: 7c04f5d2..840245e9
3 Regressions, 1 Improvement, 4 Mixed; 2 of them in rollups 31 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:
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
Compiler Team (MCPs only)
Rust
- Stabilize ppc inline assembly
- const-eval: always do mem-to-mem copies if there might be padding involved
- Tracking Issue for
Vec::push_mut - Tracking Issue for
error_generic_member_access - FCW Lint when using an ambiguously glob imported trait
No Items entered Final Comment Period this week for Cargo, Rust RFCs, Leadership Council, 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
Upcoming Events
Rusty Events between 2026-01-14 - 2026-02-11 🦀
Virtual
- 2026-01-15 | Virtual (Berlin, DE) | Rust Berlin
- 2026-01-15 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-01-15 | Virtual (Berlin, DE) | Rust Berlin
- 2026-01-16 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
- 2026-01-18 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-01-20 | Virtual (Washington, DC, US) | Rust DC
- 2026-01-21 | Virtual (Girona, ES) | Rust Girona
- 2026-01-21 | Virtual (Vancouver, BC, CA) | Vancouver Rust
- 2026-01-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-01-27 | Virtual (London, UK) | Women in Rust
- 2026-01-28 | Virtual (Girona, ES) | Rust Girona
- 2026-01-29 | Virtual (Amsterdam, NL) | Bevy Game Development
- 2026-01-29 | Virtual (Berlin, DE) | Rust Berlin
- 2026-01-29 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
- 2026-02-04 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-02-07 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2026-02-10 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-02-10 | Virtual (London, UK) | Women in Rust
- 2026-02-11 | Virtual (Girona, ES) | Rust Girona
Asia
- 2026-01-17 | Delhi, IN | Rust Delhi
- 2026-02-05 | Seoul, KR | Seoul Rust (Programming Language) Meetup
- 2026-02-11 | Kuala Lumpur, MY | Rust Malaysia
Europe
- 2026-01-14 | Girona, ES | Rust Girona
- 2026-01-14 | Reading, UK | Reading Rust Workshop
- 2026-01-16 | Edinburgh, UK | Rust and Friends
- 2026-01-20 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
- 2026-01-20 | Paris, FR | Rust Paris
- 2026-01-21 | Cambridge, UK | Cambridge Rust Meetup
- 2026-01-26 | Augsburg, DE | Rust Meetup Augsburg
- 2026-01-28 | Dortmund, DE | Rust Dortmund
- 2026-01-29 | Ostrava, CZ | MeetUpdate Ostrava
- 2026-02-04 | Darmstadt, DE | Rust Rhein-Main
- 2026-02-04 | München, DE | Rust Munich
- 2026-02-04 | Oxford, UK | Oxford ACCU/Rust Meetup.
- 2026-02-05 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2026-02-11 | Basel, CH | Rust Basel
- 2026-02-11 | Reading, UK | Reading Rust Workshop
North America
- 2026-01-14 | Chicago, IL, US | Chicago Rust Meetup
- 2026-01-15 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-01-17 | Boston, MA, US | Boston Rust Meetup
- 2026-01-17 | Herndon, VA, US | NoVaLUG
- 2026-01-20 | San Francisco, CA, US | Svix
- 2026-01-20 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-01-21 | Austin, TX, US | Rust ATX
- 2026-01-22 | Boston, MA, US | Boston Rust Meetup
- 2026-01-22 | Mountain View, CA, US | Hacker Dojo
- 2026-01-24 | Boston, MA, US | Boston Rust Meetup
- 2026-01-28 | Los Angeles, CA, US | Rust Los Angeles
- 2026-01-29 | Atlanta, GA, US | Rust Atlanta
- 2026-01-29 | Nashville, TN, US | Music City Rust Developers
- 2026-01-31 | Boston, MA, US | Boston Rust Meetup
- 2026-02-03 | New York, NY, US | Rust NYC
- 2026-02-05 | Saint Louis, MO, US | STL Rust
- 2026-02-07 | Boston, MA, US | Boston Rust 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 have written in dozens of computer languages, including specialized ones that were internal to Pixar (including one I designed). I spent decades writing C and C++. I wrote bit-slice microcode, coded for SIMD before many folks outside of Pixar had it.
I wrote the first malloc debugger that would stop your debugger at the source code line that was the problem. Unix workstation manufacturers had to do an unexpected release when this revealed all of the problems in their C libraries.
I am a better programmer in Rust for anything low-level or high-performance. It just keeps me from making an entire class of mistakes that were too easy to make in any language without garbage-collection.
Over the long term, anything that improves quality is going to win. There is a lot of belly-aching by folks who are too in love with what they've been using for decades, but it is mostly substance-free. Like people realizing that code marked "unsafe" is, surprise, unsafe. And that unsafe can be abused.
Thanks to Brian Kung for the suggestion!
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