monster 0.1.28

Collection of random utilities
Documentation
/// Temporarily rebind variables as mutable
///
/// # Example
///
/// ```
/// #[macro_use(mutate)]
/// extern crate monster;
///
/// fn main() {
///     let x = 42;
///     let y = 777;
///
///     mutate!(|x, y| {
///         x += 1;
///         y += 1;
///     });
///
///     assert_eq!((x, y), (43, 778));
/// }
/// ```
#[macro_export]
macro_rules! mutate {
    (|$($var:ident),+| $code:expr) => (
        let ($($var),+,) = {
            $( let mut $var = $var; )+
            $code;
            ($($var),+,)
        };
    );
}