#[macro_export]
macro_rules! print {
($($arg:tt)*) => {
$crate::io::Write::write_fmt(&mut $crate::io::stdout(), format_args!($($arg)*)).expect("failed to write to STDOUT");
};
}
#[macro_export]
macro_rules! println {
() => {
$crate::io::Write::write(&mut $crate::io::stdout(), "\n".as_bytes()).expect("failed to write to STDOUT");
};
($($arg:tt)*) => {
{
$crate::io::Write::write_fmt(&mut $crate::io::stdout(), core::format_args!("{}\n", core::format_args!($($arg)*))).expect("failed to write to STDOUT");
}
};
}
#[macro_export]
macro_rules! eprint {
($($arg:tt)*) => {
$crate::io::Write::write_fmt(&mut $crate::io::stderr(), format_args!($($arg)*)).expect("failed to write to STDOUT");
};
}
#[macro_export]
macro_rules! eprintln {
() => {
$crate::io::Write::write(&mut $crate::io::stderr(), "\n".as_bytes()).expect("failed to write to STDOUT");
};
($($arg:tt)*) => {
{
$crate::io::Write::write_fmt(&mut $crate::io::stderr(), core::format_args!($($arg)*)).expect("failed to write to STDOUT");
$crate::io::Write::write(&mut $crate::io::stderr(), "\n".as_bytes()).expect("failed to write to STDOUT");
}
};
}