| 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(); | |
| } | |
| } |