macro_rules! do_m_pattern {
(
let $p:pat = $e:expr ; $( $t:tt )*
) => { ... };
(
let $p:ident : $ty:ty = $e:expr ; $( $t:tt )*
) => { ... };
(
let mut $p:ident : $ty:ty = $e:expr ; $( $t:tt )*
) => { ... };
(
$p:ident = $e:expr ; $( $t:tt )*
) => { ... };
(
exec $b:expr ; $( $t:tt )*
) => { ... };
(
ret $e:expr
) => { ... };
($p:ident $ty:ty, $val:expr, yield_from $cor:expr; $($t:tt)*) => { ... };
}
Expand description
Run codes inside a doM
block(Haskell
do notation
)
(this is a sync
macro)