1use core::fmt::Write;
2
3use crate::hal;
4
5pub fn _print(args: core::fmt::Arguments) {
6 hal::console::console().write_fmt(args).unwrap();
7}
8
9#[macro_export]
13macro_rules! print {
14 ($($arg:tt)*) => ($crate::std::print::_print(format_args!($($arg)*)));
15}
16
17#[macro_export]
21macro_rules! println {
22 () => ($crate::print!("\n"));
23 ($($arg:tt)*) => ({
24 $crate::std::print::_print(format_args_nl!($($arg)*));
25 })
26}
27
28pub fn _eprint(args: core::fmt::Arguments) {
30 hal::console::console().write_fmt(args).unwrap();
31}
32
33#[macro_export]
37macro_rules! eprint {
38 ($($arg:tt)*) => ($crate::std::print::_eprint(format_args!($($arg)*)));
39}
40
41#[macro_export]
45macro_rules! eprintln {
46 () => ($crate::print!("\n"));
47 ($($arg:tt)*) => ({
48 $crate::std::print::_eprint(format_args_nl!($($arg)*));
49 })
50}