use std::fmt; | |
use std::io::{self, Write as _}; | |
macro_rules! safe_print { | |
($($arg:tt)*) => {{ | |
$crate::print::print(std::format_args!($($arg)*)); | |
}}; | |
} | |
macro_rules! safe_println { | |
($($arg:tt)*) => { | |
safe_print!("{}\n", std::format_args!($($arg)*)) | |
}; | |
} | |
pub(crate) fn print(args: fmt::Arguments<'_>) { | |
if let Err(_) = io::stdout().write_fmt(args) { | |
rustc_errors::FatalError.raise(); | |
} | |
} |