mango_core/
print.rs

1#[allow(missing_docs)]
2pub fn _print_to_impl(args: core::fmt::Arguments<'_>) -> core::fmt::Result
3{
4  use core::fmt::Write;
5  crate::STDOUT.lock().write_fmt(args)
6}
7
8/// Print to a device
9#[macro_export]
10macro_rules! print_to {
11  ($out:expr, $($arg:tt)*) => ($out.write_fmt(format_args!($($arg)*)).expect("Printing to out failed"));
12}
13
14/// Print to a device and add a return carriage.
15#[macro_export]
16macro_rules! println_to {
17  ($out:expr) => ($crate::print_to!($out, "\n"));
18  ($out:expr, $($arg:tt)*) => ($crate::print_to!($out, "{}\n", format_args!($($arg)*)));
19}
20
21/// Print to stdout
22#[macro_export]
23macro_rules! print {
24  ($($arg:tt)*) => ($crate::print::_print_to_impl(format_args!($($arg)*)).expect("Printing to out failed"));
25}
26
27/// Print to stdout and add a return carriage.
28#[macro_export]
29macro_rules! println {
30  () => (crate::println_to!($crate::STDOUT.lock()));
31  ($($arg:tt)*) => ($crate::print::_print_to_impl(format_args!("{}\n", format_args!($($arg)*))).expect("Printing to out failed"));
32}