(better?) This Week in Rust

This Week in Rust 592
Foundation
Ferrous Systems contributes its Ferrocene Language Specification to the Rust Project, aiming to provide a clearer path to an official Rust specification.
Project/Tooling Updates
This article introduces Fastrace, a new Rust crate for distributed tracing, addressing the challenges of existing solutions like `tokio-rs/tracing` with zero-cost abstraction, ecosystem compatibility, and seamless context propagation.
This Rust Analyzer changelog details bug fixes and internal improvements, including handling multiple attributes, speeding up assist resolutions, and updating code generation.
An update on the Cot framework's progress, new features, and future plans for version 0.3, including OpenAPI spec generation.
Observations/Thoughts
This article discusses the role of `unsafe` code in Rust, explaining how it interacts with the language's safety guarantees through implementation details, language extensions, and formal verification techniques like Hoare and separation logic.
This article analyzes the potential benefits and drawbacks of replacing GNU coreutils with a Rust implementation in Ubuntu, focusing on memory safety, performance, and paving the way for wider Rust adoption.
This article discusses how Rust can achieve seamless language interop through an extensible compiler, allowing for easy integration with other languages and environments.
This article explores a potential redesign for dyn async traits in Rust, focusing on a "box box box" approach and its implications for dyn compatibility and the introduction of a `box` keyword.
This blog post discusses potential improvements to Rust's `dyn Trait` feature, aiming for better flexibility, efficiency, and ergonomics in scenarios where dynamic dispatch is necessary or desired for code size reduction.
Explore a Rust programming pattern that cleverly utilizes variable initialization to manage memory and satisfy the borrow checker.
This article explores how Rust's ecosystem encourages developers to write tests by simplifying complex tasks, using the example of parsing SQL queries to validate database migrations.
Explore the tech behind ExpressVPN's high-performance systems, and discover why Rust is considered the future for secure programming.
Learn how to build a fast website using Rust with the MASH stack, including Yew frontend, Axum backend, SurrealDB database, and HTMX for dynamic updates.
Rust Walkthroughs
This article explores a Rust proc-macro trick to emit partial code and errors, aiding rust-analyzer and improving the developer experience.
This article is a comprehensive guide to statically bundling C/C++ dependencies into Rust projects, focusing on creating a `-src` crate and handling complex build processes.
This article delves into optimizing vector updates in Rust, exploring various approaches from naive to unsafe, with detailed benchmarks.
A tale of longing and its devastating consequences.
Explore a Rust trick to efficiently convert owned strings to specific types, bypassing unnecessary clones and optimizing performance with a new `FromString` trait.
Learn how to use traits and subtyping in Rust to achieve polymorphism similar to object-oriented programming, despite Rust's lack of inheritance and zero-cost abstractions.
Learn about the capabilities of Rust in embedded systems and bare metal programming through a presentation and demo with Leon Vak.