Technical notes on integrating io-uring with Rust's futures model, discussing the challenges of buffer management, cancellation, and completion semantics between completion-based APIs and Rust's safety guarantees. The author explains why destructors cannot reliably block on IO completion and emphasizes that soundness is mandatory for safe Rust libraries.
A programming language design post discusses the complexity of implementing type system features that reason about aliasing, specifically in-place updates in Futhark. The author explains how tracking object identity and aliases through the type checker creates non-trivial design challenges when interacting with other language features, and recommends avoiding such complexity unless absolutely necessary.