More traits
We derived the Debug
trait. It would be useful to implement a few more traits
too.
use core::fmt::{self, Write}; impl Write for Uart { fn write_str(&mut self, s: &str) -> fmt::Result { for c in s.as_bytes() { self.write_byte(*c); } Ok(()) } } // SAFETY: `Uart` just contains a pointer to device memory, which can be // accessed from any context. unsafe impl Send for Uart {}
-
Implementing
Write
lets us use thewrite!
andwriteln!
macros with ourUart
type. -
Send
is an auto-trait, but not implemented automatically because it is not implemented for pointers.