macros.rs 794 B

1234567891011121314151617181920212223242526
  1. // Ref: rcore-console crate
  2. #[allow(unused)]
  3. macro_rules! print {
  4. ($($arg:tt)*) => {
  5. use core::fmt::Write;
  6. if unsafe {$crate::board::BOARD.have_console()} {
  7. let console = unsafe { $crate::board::BOARD.sbi.console.as_mut().unwrap() };
  8. console.write_fmt(core::format_args!($($arg)*)).unwrap();
  9. drop(console);
  10. }
  11. }
  12. }
  13. #[allow(unused)]
  14. macro_rules! println {
  15. () => ($crate::print!("\n"));
  16. ($($arg:tt)*) => {{
  17. use core::fmt::Write;
  18. if unsafe {$crate::board::BOARD.have_console()} {
  19. let console = unsafe { $crate::board::BOARD.sbi.console.as_mut().unwrap() };
  20. console.write_fmt(core::format_args!($($arg)*)).unwrap();
  21. console.write_char('\n').unwrap();
  22. }
  23. }}
  24. }