use crate::{Command, OsStr, Process};
use std::process::{abort, exit, id};
trait Sealed {}
impl Sealed for Process {}
#[doc = crate::_tags!(platform concurrency namespace)]
#[doc = crate::_doc_location!("work/process")]
#[rustfmt::skip]
#[cfg_attr(nightly_doc, doc(notable_trait))]
#[expect(private_bounds, reason = "Sealed")]
pub trait ProcessExt: Sealed {
fn command<S: AsRef<OsStr>>(program: S) -> Command {
Command::new(program)
}
#[rustfmt::skip]
fn abort() -> ! { abort() }
#[rustfmt::skip]
fn exit(code: i32) -> ! { exit(code) }
#[must_use] #[rustfmt::skip]
fn self_pid() -> u32 { id() }
}
impl ProcessExt for Process {}