#[derive(derive_mmio::Mmio)]
#[repr(C)]
struct Uart {
data: u32,
}
pub fn main() {
let mut uart = Uart { data: 0xA };
let mmio_uart = unsafe { Uart::new_mmio(core::ptr::addr_of_mut!(uart)) };
let addr = core::ptr::addr_of!(uart);
assert_eq!(format!("{:?}", mmio_uart), format!("MmioUart({:?})", addr));
let owned_uart: OwnedUart<256> = unsafe { OwnedUart::new() };
assert_eq!(format!("{:?}", owned_uart), format!("OwnedUart(256)"));
assert_eq!(format!("{:04x?}", owned_uart), format!("OwnedUart(0100)"));
}