impl_enum_dispatch

Macro impl_enum_dispatch 

Source
macro_rules! impl_enum_dispatch {
    ($enum_name:ident<$lifetime:lifetime>, $($variant:ident),*; $fn_name:ident(&$self_lifetime:lifetime self) -> $ret:ty) => { ... };
    ($enum_name:ident, $($variant:ident),*; $fn_name:ident(&self, $($arg:ident : $arg_ty:ty),+) -> $ret:ty) => { ... };
    ($enum_name:ident, $($variant:ident),*; $fn_name:ident(&self) -> $ret:ty) => { ... };
    ($enum_name:ident, $($variant:ident),*; $fn_name:ident(&mut self, $($arg:ident : $arg_ty:ty),+) -> $ret:ty) => { ... };
    ($enum_name:ident, $($variant:ident),*; $fn_name:ident(&mut self) -> $ret:ty) => { ... };
}