rustc_driver_impl/
print.rs

1use std::fmt;
2use std::io::{self, Write as _};
3
4macro_rules! safe_print {
5    ($($arg:tt)*) => {{
6        $crate::print::print(std::format_args!($($arg)*));
7    }};
8}
9
10macro_rules! safe_println {
11    ($($arg:tt)*) => {
12        safe_print!("{}\n", std::format_args!($($arg)*))
13    };
14}
15
16pub(crate) fn print(args: fmt::Arguments<'_>) {
17    if let Err(_) = io::stdout().write_fmt(args) {
18        rustc_errors::FatalError.raise();
19    }
20}