about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorMitsunori Komatsu <komamitsu@gmail.com>2016-05-31 01:53:14 +0900
committerMitsunori Komatsu <komamitsu@gmail.com>2016-06-21 15:14:15 +0900
commit45a63d3ff611b1412f9d811cd328b648bada5ca2 (patch)
tree9a2e08ee3abaadbc93c50d08929b2ab7b1f249ac /src/libcore
parent4ba60aba387b19267cace9759d9cf14682b72871 (diff)
Add message argument to `assert_eq` macro
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/macros.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/libcore/macros.rs b/src/libcore/macros.rs
index a40608b0762..376d2792c44 100644
--- a/src/libcore/macros.rs
+++ b/src/libcore/macros.rs
@@ -94,7 +94,18 @@ macro_rules! assert_eq {
                 }
             }
         }
-    })
+    });
+    ($left:expr , $right:expr, $($arg:tt)*) => ({
+        match (&($left), &($right)) {
+            (left_val, right_val) => {
+                if !(*left_val == *right_val) {
+                    panic!("assertion failed: `(left == right)` \
+                           (left: `{:?}`, right: `{:?}`): {}", left_val, right_val,
+                           format_args!($($arg)*))
+                }
+            }
+        }
+    });
 }
 
 /// Ensure that a boolean expression is `true` at runtime.