Radar · Rust · Archive · Week 20 · May 12 – 18, 2025
Rust 1.87.0 Release
Worth knowingtooling
- What changed
- The Rust team released version 1.87.0, marking the ten‑year anniversary of Rust.
- Production impact
- The source does not say.
- Try it
- Run
rustc --versionto verify you are on 1.87.0. - Source
- blog.rust-lang.org/2025/05/15/Rust-1.87.0/
Understand it, then run it
Run it now
// This example demonstrates the new std::io::pipe API.
// It does not compile on Rust 1.98.1 because io::pipe was added in 1.87.0.
// To run it, use rustc 1.87.0 or later.
use std::io::{self, Read};
use std::process::Command;
fn main() -> io::Result<()> {
// Create an anonymous pipe.
let (mut reader, writer) = io::pipe()?;
// Spawn a child process that writes to both stdout and stderr.
let mut child = Command::new("sh")
.arg("-c")
.arg("echo out; echo err 1>&2")
.stdout(writer.try_clone()?) // send stdout to the pipe
.stderr(writer) // send stderr to the pipe
.spawn()?;
// Read all output from the pipe.
let mut output = Vec::new();
reader.read_to_end(&mut output)?;
// Wait for the child to finish.
child.wait()?;
// Print what we captured.
println!("Captured output:\n{}", String::from_utf8_lossy(&output));
Ok(())
}
What it printed when we ran it on Rust 1.98.1 (edition 2024)
Captured output: out err
Run sends this program (for Solidity, the contract and its tests) to our own sandbox, where it is compiled and run once, with no network, and what it printed or the test report comes back here. Nothing is kept. Runs are counted per visitor for the day so everyone gets a turn; the details are on the legal page.
Written by gpt-oss-20b from the linked source · claims checked against the sources · archive, not individually reviewed