* Silly question, I'm writing a certain type of driver for the first time I want to have something like `static mut MY_DRIVER : MyDriver = MyDriver { pointer_to_a_register : ... };` When I try to supply a pointer for my feild `ndtr : &NDTR` I get an error about a dangling pointer It seems like the STM32 register access crates make it really hard to get a valid pointer at compile time. (all _ptr() functions are non-const) It instead expect you to use a reference. ``` error[E0080]: could not evaluate static initializer --> /git/software.2024.20-stm32g0_pac-7747c297b8234caf/956b6da/src/stm32g0b1/dma1.rs:23:10 | 23 | &self.ch[n] | ^^^^^^^^^^ out-of-bounds pointer arithmetic: expected a pointer to 8 bytes of memory, but got 0x40020000[noalloc] which is a dangling pointer (it has no provenance) | note: inside `stm32g0::stm32g0b1::dma1::RegisterBlock::ch` --> /git/software.2024.20-stm32g0_pac-7747c297b8234caf/956b6da/src/stm32g0b1/dma1.rs:23:10 | 23 | &self.ch[n] | ^^^^^^^^^^ note: inside `stm32g0::stm32g0b1::dma1::RegisterBlock::ch2` --> /git/software.2024.20-stm32g0_pac-7747c297b8234caf/956b6da/src/stm32g0b1/dma1.rs:39:9 | 39 | self.ch(1) | ^^^^^^^^^^ note: inside `DmaUartContext::new` --> /drv/kairos-sys/src/dma_uart_wrapper.rs:440:14 | 440 | ndtr : &*dma1.ch2().ndtr(), | ^^^^^^^^^^ note: inside `DmaUartWrapper::new` --> /drv/kairos-sys/src/dma_uart_wrapper.rs:206:14 | 206 | context : DmaUartContext::new() | ^^^^^^^^^^^^^^^^^^^^^ note: inside `DMA_UART` --> app/kairos-ngcmio/src/main.rs:489:82 | 489 | ...dma_uart_wrapper::DmaUartWrapper = drv_kairos_sys::dma_uart_wrapper::DmaUartWrapper::new(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ```