diff options
Diffstat (limited to 'samples/std.rs')
-rw-r--r-- | samples/std.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/samples/std.rs b/samples/std.rs index 228be06d..100fcb5e 100644 --- a/samples/std.rs +++ b/samples/std.rs @@ -10,10 +10,15 @@ macro_rules! assert{ } #[macro_export] macro_rules! assert_eq{ - ($a:expr, $b:expr) => ({ - let left = &$a; - let right = &$b; - assert!( left == right && right == left ); + ($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) + } + } + } }); } |