macro_rules! rotate {
    ($x: expr, $($y: expr),*) => { ... };
    ($x: expr) => { ... };
    ($x: expr, $($y: expr),*,) => { ... };
}
Expand description

A variant of swap! that works for more than two values.

Example

let mut x = 'a';
let mut y = 'b';
let mut z = 'c';
omniswap::rotate!(&mut x, &mut y, &mut z);
assert_eq!((x, y, z), ('c', 'a', 'b'));