Paul Krill
Editor at Large

Rust 1.87 shines on anonymous pipes, architecture intrinsics

news
May 19, 20253 mins
Programming LanguagesRustSoftware Deployment

Happy birthday, Rust! The latest release of the increasingly popular fast and safe programming language coincides with its 10th birthday.

Rusty steel girder and two meter web installed on a bridge abutment and scaffolding as part of a new freeway interchange. Building construction infrastructure project.
Credit: Randy Hergenrether / Shutterstock

The Rust Release Team has shipped Rust 1.87, an update to the fast and safe programming language that features accommodations for anonymous pipes and architecture intrinsics.

The new release was announced May 15, the same day as Rust’s 10th anniversary. Users with a previous version of Rust installed via rustup can update via the following command: Β rustup update stable.

Rust 1.87 adds access to anonymous pipes to the standard library. This includes integration with the input/output methods of std::process::Command. Joining the stdout and stderr streams into one is now relatively straightforward, for example, whereas it used to require either extra threads or platform-specific functions, the Rust team said.

Rust 1.87 also brings more safety to architecture intrinsics. Most std::arch intrinsics that are unsafe due to requiring target features to be enabled now are callable in safe code that has those features enabled, the Rust team said. The team provided an example of a toy program that implements summing an array using manual intrinsics that now can use safe code for the core loop.

Also in Rust 1.87, inline assembly (asm!) now can jump to labeled blocks within Rust code. This enables low-level programming such as implementing optimized control flow in operating system kernels or more efficient interaction with hardware.

Rust 1.87 also stabilizes specifying the specific captured generic types and lifetimes in trait definitions using impl Trait return types, thus allowing the use of this feature in trait definitions. This feature expands on the stabilization of non-trait functions in Rust 1.82, from October 2024.

Additionally in Rust 1.87, the Tier 2 target i586-pc-windows-msvchas been removed. Users currently targeting i586-pc-windows-msvc are advised to migrate to i686-pc-windows-msvc. Rust 1.87 also stabilizes dozens of APIs.

Rust’s 10th anniversary comes at a time when the language has been gaining in popularity. Rust began as a Mozilla research project partly meant to reimplement key components of the Firefox browser. The priorities of the original project were driven by the need to make better use of multicore processors in Firefox, and the ubiquity of web browsers meant that those features had to be safe to use. The Rust language moved over to the Rust Foundation in 2021.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a β€œBest Technology News Coverage” award from IDG.

More from this author