Macro param_set

Source
macro_rules! param_set {
    (@($name:ident, $( $inp:tt )*) -> ($( $body:tt )*)) => { ... };
    (@($name:ident: $t:ty, $( $inp:tt )*) -> ($( $body:tt )*)) => { ... };
    (@($name:ident = $def:expr, $( $inp:tt )*) -> ($( $body:tt )*)) => { ... };
    (@($name:ident: $t:ty = $def:expr, $( $inp:tt )*) -> ($( $body:tt )*)) => { ... };
    (@($name:ident) -> ($( $body:tt )*)) => { ... };
    (@($name:ident: $t:ty) -> ($( $body:tt )*)) => { ... };
    (@($name:ident = $def:expr) -> ($( $body:tt )*)) => { ... };
    (@($name:ident: $t:ty = $def:expr) -> ($( $body:tt )*)) => { ... };
    (@() -> $body:expr) => { ... };
    ($( $inp:tt )*) => { ... };
}