std::assert_eq! [-]  [+] [src]

macro_rules! assert_eq {
    ($left:expr , $right:expr) => ({
        match (&($left), &($right)) {
            (left_val, right_val) => {
                // check both directions of equality....
                if !((*left_val == *right_val) &&
                     (*right_val == *left_val)) {
                    panic!("assertion failed: `(left == right) && (right == left)` \
                           (left: `{}`, right: `{}`)", *left_val, *right_val)
                }
            }
        }
    })
}

Asserts that two expressions are equal to each other, testing equality in both directions.

On panic, this macro will print the values of the expressions.

Example

fn main() { let a = 3i; let b = 1i + 2i; assert_eq!(a, b); }
let a = 3i;
let b = 1i + 2i;
assert_eq!(a, b);