Jump to content

This Week in Rust 624

From JOHNWICK

Welcome back to another edition of This Week in Rust. While last week brought us SeaORM 2.0 and Rari’s impressive benchmarks, this week the Rust community focused on what matters most: making the language faster, more reliable, and more accessible. From significant compiler performance improvements to cross-platform app development breakthroughs, let’s explore what made waves this week. The Spotlight: Dioxus Framework This week’s featured crate is Dioxus, a framework for building cross-platform applications in Rust. Think of it as React’s cousin who went to the gym, learned systems programming, and came back with a compiler that actually helps you write better code. Dioxus lets you write your UI once and deploy it everywhere — web, desktop, mobile, and even TUI (terminal user interface). With Rust’s type safety and performance guarantees baked in, you’re building apps that are fast, reliable, and maintainable from day one. For developers tired of the JavaScript framework fatigue, Dioxus represents a compelling alternative that doesn’t ask you to compromise on either developer experience or application performance. Compiler & Performance: The Numbers That Matter This week brought mostly positive performance results, and when I say “positive,” I mean really positive. The Rust compiler team merged 480 pull requests, and two standout improvements deserve special attention: Trivial Constants Optimization PRs #148040 and #148182 introduced optimizations for crates with lots of trivial constants. The results? Some primary benchmarks saw improvements of up to 16.4% in compilation performance. That’s not a typo — double-digit percentage improvements are rare and meaningful. For developers working on const-heavy codebases (think configuration-driven applications, static analysis tools, or compile-time computation), this translates to noticeably faster build times. Key Compiler Improvements

  • LLVM Range Attributes: Added range attributes to slice length parameters for better optimization opportunities
  • Better Dead Code Analysis: Fixed types being incorrectly marked as dead when used as inferred generic arguments
  • Pin Pattern Matching: Implemented pin-project in pattern matching for &pin mut|const T (landed in #139751)
  • Codegen Backend Flexibility: Backends can now indicate which crate types they support, with better warning messages for unsupported types

Standard Library Additions The standard library continues to evolve with practical, developer-requested features: New Slice Indexing Wrappers

  • Last and Clamp<Idx> slice index wrapper types for safer, more expressive indexing

VecDeque Gets Love

  • extend_from_within and prepend_from_within methods
  • extract_if for conditional extraction
  • These additions bring VecDeque closer to feature parity with Vec

Const Evolution

  • Range functions are now const
  • Trait aliases can now be constified
  • More flexibility for compile-time computation

Smart Pointer Improvements

  • (try_)map methods for smarter pointer manipulation
  • from_fn_ptr added to Waker and LocalWaker for low-level async runtime builders

Tooling Evolution Rust-Analyzer Intelligence Upgrade The IDE experience keeps getting better with several quality-of-life improvements: New Assists:

  • convert_range_for_to_while — because sometimes you need more control
  • Better handling of incomplete statements
  • Improved field completion parentheses heuristic

Memory Profiling: Now supports profiling with dhat, helping developers identify memory bottlenecks

  • Better Error Recovery: Improved parsing of malformed function return types means fewer false-positive errors while you’re typing

Cargo Gets Smarter

  • Build Analysis Infrastructure: New JSONL-based logging infrastructure for better build insights
  • Config Include Enhancements: Support for optional fields and inline/array of tables
  • Array Support: Cargo now supports arrays of any types in configuration

Clippy Refinements The linter received numerous fixes to reduce false positives:

  • search_is_some: Now handles closures spanning multiple lines
  • double_parens: Doesn't lint in proc-macros anymore
  • manual_unwrap_or(_default): Smarter about when it's safe to move scrutinees
  • Extended needless_collect lint for better collection optimization suggestions

Community Highlights Quote of the Week The Rust community has a dark sense of humor that perfectly captures the language’s safety guarantees: “If someone opens a PR introducing C++ to your Rust project, that code is free as in ‘use after’” — Predrag Gruevski This joke works on multiple levels — referencing both free software and the dreaded “use-after-free” memory bug that Rust’s ownership system prevents. It’s the kind of humor that makes systems programmers smile and C++ developers wince (affectionately, of course). Notable Blog Posts & Tutorials Several excellent technical writings appeared this week:

  • “Ghosts in the Compilation” — Deep dive into compiler behaviors
  • “Patterns for Defensive Programming in Rust” by Corrode Rust Consulting — Essential reading for building robust applications
  • “The State of SIMD in Rust in 2025” — Comprehensive overview of where Single Instruction Multiple Data stands in the Rust ecosystem
  • “Rust is Eating the World” — Analysis of Rust’s expansion from embedded firmware to cross-platform applications, databases, and servers

Production Rust Stories The “Rust in Production” podcast featured Cloudflare engineers Edward Wang and Kevin Guthrie discussing how one of the internet’s largest infrastructure companies uses Rust at scale. For anyone considering Rust for production systems, these real-world stories are invaluable. Learning Resources

  • “Building a Coding Agent in Rust” series continued with chat feature implementation
  • “Getting Started with Rust and ClickHouse” by Svix
  • “Inside Rust’s std and parking_lot Mutexes” — Performance comparison
  • Diesel Workshop slides from RustWeek 2025 now available

RFCs & Language Evolution Final Comment Period Several important proposals entered final comment period, meaning now is the time for community input:

  • Emit error for path-segment keywords as cfg predicates
  • Stabilize extern_system_varargs
  • Tracking issue for vec_into_raw_parts
  • Make deref_nullptr deny by default (currently a warning)

The last item is particularly significant — promoting undefined behavior from a warning to an error shows the language’s continued commitment to safety without compromising backwards compatibility for too long. Upcoming Events: The Global Rust Community The Rust community remains vibrant with events spanning continents: Major Highlights

  • RustLab 2025 just concluded in Florence, Italy (November 2–4)
  • TokioConf 2026 CFP is open through December 8, 2025
  • Dozens of meetups across North America, Europe, Asia, and Africa

Virtual Accessibility Nearly daily virtual meetups ensure Rust education remains accessible worldwide. Whether you’re in Buffalo, Dallas, Berlin, or Bangalore, there’s likely a Rust meetup happening in your timezone this month. Project Updates Worth Noting esp-hal 1.0.0 Release The Espressif HAL (Hardware Abstraction Layer) for Rust reached 1.0.0, marking a significant milestone for embedded Rust on ESP32 microcontrollers. This is huge for IoT developers who want Rust’s safety guarantees on resource-constrained devices. CGP (Context-Generic Programming) Updates

  • cgp-serde announced: A modular serialization library powered by CGP
  • CGP v0.6.0 released with major ergonomic improvements for provider and context implementations

Patina: UEFI Development in Rust A new guide dropped for developing UEFI applications in Rust. For those building bootloaders, firmware, or low-level system software, Patina provides the tools to do it safely. Performance Triage Results The weekly performance triage revealed: Summary:

  • 102 primary benchmarks improved (average -2.8%, max -16.4%)
  • 51 secondary benchmarks improved (average -1.9%, max -8.0%)
  • 22 primary regressions (average +0.8%, max +2.9%)
  • 48 secondary regressions (average +0.5%, max +1.7%)

Net Result: Overall -2.1% improvement across 124 primary benchmarks The trivial constants optimization dominated this week’s wins, with some extreme cases seeing 16% faster compile times. The regressions were minor and largely acceptable trade-offs for feature additions. Call for Participation Looking to contribute to Rust projects? Here are some curated opportunities: Motor OS

  • Improve rush (the shell in Motor OS)
  • Make imager configurable
  • Port libc/llvm/rustc

Diesel

  • Improve documentation for Postgres loading modes

These tasks often come with mentorship opportunities, making them perfect entry points for open-source contribution. Job Market The Rust job market continues to grow. For the latest opportunities, check out the Who’s Hiring thread on r/rust. The Bigger Picture This week exemplifies Rust’s steady maturation:

  • Performance Improvements: Compiler optimizations deliver meaningful build time reductions
  • Ecosystem Growth: Projects like Dioxus prove Rust can compete in traditionally JavaScript-dominated spaces
  • Production Adoption: Companies like Cloudflare continue sharing how they use Rust at scale
  • Developer Experience: Rust-Analyzer and Clippy improvements make daily coding smoother
  • Cross-Platform Reality: From UEFI firmware to web apps, Rust truly runs everywhere

The language isn’t just growing — it’s refining. Tools are maturing, documentation is improving, and the feedback loop between users and maintainers remains remarkably strong. What’s Next? As we move deeper into November, keep an eye on:

  • TokioConf 2026 CFP submissions (deadline December 8)
  • Continued language evolution through RFC process
  • More performance optimizations in the pipeline
  • Growing adoption in production environments

The momentum behind Rust shows no signs of slowing. Whether you’re building web services, embedded systems, CLI tools, or cross-platform applications, the Rust ecosystem has mature tools ready for production use.