core::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 = 3; let b = 1 + 2; assert_eq!(a, b); }
let a = 3;
let b = 1 + 2;
assert_eq!(a, b);