Macro lambda::lambda

source ·
macro_rules! lambda {
    ($var:ident = $($any:tt)*) => { ... };
    ({$($any0:tt)*}) => { ... };
    ({$($any0:tt)*},$($any1:tt)*) => { ... };
    ([$($any0:tt)*] [$($any1:tt)*] [$($any2:tt)*]) => { ... };
    (($($any1:tt)*) $($any2:tt)*) => { ... };
    ( $fun:tt $($var:ident)* , ( $($any1:tt)*) $($any2:tt)*  ) => { ... };
    ($var:ident $($any:tt)*) => { ... };
    ($fun0:tt $($var0:ident)* , $var:ident $($any:tt)*) => { ... };
    ({[$($any0:tt)*] $($any1:tt)* } $($var0:ident)* , {$($any2:tt)*} $( , $fun2:tt $($var2:ident)* )*  $(; $( $fun3:tt $($var3:ident)*),*)*  ) => { ... };
    ({[,$($any0:tt)*]} $var00:ident $($var01:ident)*, $fun1:tt $($var1:ident)* $( , $fun2:tt $($var2:ident)* )*  $(; $( $fun3:tt $($var3:ident)*),*)*  ) => { ... };
    ({[$($any0:tt)*], ($($any1:tt)*) $($any2:tt)* } $var00:ident $($var01:ident)* , $fun1:tt $($var1:ident)*  $( , $fun2:tt $($var2:ident)* )*  $(; $( $fun3:tt $($var3:ident)*),*)* ) => { ... };
    ({[$($any0:tt)*], $fun1:tt $($var1:ident)* $( , $fun11:tt $($var11:ident)* )*  } $var00:ident $($var01:ident)* , $fun2:tt $($var2:ident)*  $( , $fun3:tt $($var3:ident)* )*  $(; $( $fun4:tt $($var4:ident)*),*)*  ) => { ... };
    ({$($any0:tt)*}$($var0:ident)* , $fun1:tt $($var1:ident)*  $( , $fun2:tt $($var2:ident)* )*  $(; $( $fun3:tt $($var3:ident)*),*)*  ) => { ... };
    ( $fun1:tt $($var1:ident)* ;  $fun2:tt $($var2:ident)* , _ $($any:tt)*  ) => { ... };
    ($($any:tt)*) => { ... };
}