Issue #1177: std: process spawn, try_wait and lossy output text for tools

Open and answer this issue on GitHub.

ready · opened 2026-11-02 · updated 2026-11-02 · 0 comments

Found by M11 (comptime move). comptime_run.rs’s waited cannot move into Nikaia: std’s process module has only run and exit, with no way to start a child, poll it with a time limit, or read its output as lossy text.

This is an obvious std extension (a missing form of kind 2, decided by the supervisor under the language principles): the same shape as Rust’s Command::spawn, Child::try_wait, Child::kill and String::from_utf8_lossy.

Probe:

use std::process
fn main() {
    let child = process::spawn("sleep", ["1"])   // refused: no spawn
    match child.try_wait() { null => println("running"), code => println(f"{code}") }
}

To build:

Part of #125

Back to Open Issues