Macro cortex_m::singleton [−][src]
Macro to create a mutable reference to a statically allocated value
This macro returns a value with type Option<&'static mut $ty>. Some($expr) will be returned
the first time the macro is executed; further calls will return None. To avoid unwrapping a
None variant the caller must ensure that the macro is called from a function that’s executed
at most once in the whole lifetime of the program.
Example
use cortex_m::singleton; fn main() { // OK if `main` is executed only once let x: &'static mut bool = singleton!(: bool = false).unwrap(); let y = alias(); // BAD this second call to `alias` will definitively `panic!` let y_alias = alias(); } fn alias() -> &'static mut bool { singleton!(: bool = false).unwrap() }