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);