Macro vex_rt::state_machine [−][src]
macro_rules! state_machine { { $(#[$attr:meta])* $vis:vis $name:ident $(($($iname:ident: $itype:ty),+ $(,)?))? $({ $( $(#[$vattr:meta])* $vname:ident: $vtype:ty = $vinit:expr ),+ $(,)? })? = $init:ident($($arg:expr),*); $( $(#[$fattr:meta])* $state:ident ($ctx:ident $(, $pname:ident: $ptype:ty)* $(,)?) $([$($vref:ident),*])? $(-> $fret:ty)? $body:block )* } => { ... }; }
Expand description
Creates an asynchronous state machine with the given visibility, name and state definitions.