pub mod interface { use core::fmt; pub trait Write { fn write_char(&self, c: char); fn write_fmt(&self, args: fmt::Arguments) -> fmt::Result; fn flush(&self); } pub trait Statistics { fn chars_written(&self) -> usize { 0 } } pub trait All: Write + Statistics {} } pub fn console() -> &'static crate::uart::Uart { &crate::uart::UART_WRITER }