enum_dispatch

Macro enum_dispatch 

Source
macro_rules! enum_dispatch {
    (@match $self:ident $fnc:ident $combined_args:tt [$($variant:ident),+]) => { ... };
    ($vis:vis$(,)? $fnc:ident, $self:ty, [$($arg:ident: $t:ty),*], $ret:ty, [$($variant:ident),+]) => { ... };
    ($variants:tt $(fnc!($vis:vis$(,)? $fnc:ident, $self:ty, $args:tt, $ret:ty);)+) => { ... };
}