Rust celebrates 10 years with v1.87, bringing anonymous pipes, safer intrinsics, and more
Marking the 10th anniversary of the Rust programming language, the Rust team has released version 1.87 with several improvements. This update introduces anonymous pipes to the standard library, allowing integration with std::process::Command for input and output, streamlining inter-process communication.
Following this, most std::arch intrinsics that were previously unsafe solely due to target feature requirements can now be used safely in code when those features are enabled. This reduces the need for unsafe blocks for developers utilizing hardware-specific functions. At the language level, inline assembly macros (asm!) now support jumping directly to labeled blocks, broadening the expressiveness available to system and embedded programmers implementing optimized control flow or direct hardware interactions.
Building on earlier language stabilization work, Rust 1.87 also allows specifying captured generic types and lifetimes in trait definitions using impl Trait return types, supporting greater flexibility in API and trait design. Beyond these changes, the release brings multiple newly stabilized APIs, addresses various bugs, and removes Tier 2 support for the i586-pc-windows-msvc target.