use std::fmt::Debug;
use yash_env::system::resource::SetRlimit;
use yash_env::system::{
CaughtSignals, Clock, Close, Dup, Exec, Exit, Fcntl, Fork, Fstat, GetPid, GetPw,
IsExecutableFile, Isatty, Open, Pipe, Read, Seek, Select, SendSignal, SetPgid, ShellPath,
Sigaction, Sigmask, Signals, TcSetPgrp, Wait, Write,
};
pub trait Runtime:
CaughtSignals
+ Clock
+ Close
+ Debug
+ Dup
+ Exec
+ Exit
+ Fcntl
+ Fork
+ Fstat
+ GetPid
+ GetPw
+ IsExecutableFile
+ Isatty
+ Open
+ Pipe
+ Read
+ Seek
+ Select
+ SendSignal
+ SetPgid
+ SetRlimit
+ ShellPath
+ Sigaction
+ Sigmask
+ Signals
+ TcSetPgrp
+ Wait
+ Write
{
}
impl<S> Runtime for S where
S: CaughtSignals
+ Clock
+ Close
+ Debug
+ Dup
+ Exec
+ Exit
+ Fcntl
+ Fork
+ Fstat
+ GetPid
+ GetPw
+ IsExecutableFile
+ Isatty
+ Open
+ Pipe
+ Read
+ Seek
+ Select
+ SendSignal
+ SetPgid
+ SetRlimit
+ ShellPath
+ Sigaction
+ Sigmask
+ Signals
+ TcSetPgrp
+ Wait
+ Write
{
}