Macro dyn_context::State [−][src]
macro_rules! State { (() $vis : vis struct $name : ident $($body : tt) *) => { ... }; (() $vis : vis enum $name : ident $($body : tt) *) => { ... }; (@ impl [$name : ident] [$($g : tt) *] [$($r : tt) *] [$($w : tt) *] $($body : tt) *) => { ... }; }
Expand description
A macro attribute
deriving trivial State implementation.
A trivial-implemented state is a state containing itself only.
Examples
macro_attr! { #[derive(State!)] struct SomeData { data: u16, } } fn get_data_from_state(state: &dyn State) -> u16 { let some_data: &SomeData = state.get(); some_data.data } let some_data = SomeData { data: 7 }; let data_from_state = get_data_from_state(&some_data); assert_eq!(data_from_state, 7);