summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-03-22 13:11:03 -0700
committerPatrick Walton <pcwalton@mimiga.net>2013-03-22 22:24:34 -0700
commiteba3367404e9ca6abf84199b5c2dbe51ce6cdbde (patch)
tree51f5c04a529cdfc03cd4fded6f66c699a8162940 /src/libsyntax/ext
parentfa70709e07983fb62d1fddadac0987c79e836d23 (diff)
downloadrust-eba3367404e9ca6abf84199b5c2dbe51ce6cdbde.tar.gz
rust-eba3367404e9ca6abf84199b5c2dbe51ce6cdbde.zip
libsyntax: Introduce the new `assert!` macro; make `assert` no longer a keyword
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/expand.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 27b35b37849..46ded7ecf3d 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -464,6 +464,19 @@ pub fn core_macros() -> ~str {
         }
     )
 
+    macro_rules! assert(
+        ($cond:expr) => {
+            if !$cond {
+                ::core::sys::fail_assert(stringify!($cond), file!(), line!())
+            }
+        };
+        ($cond:expr, $msg:expr) => {
+            if !$cond {
+                ::core::sys::fail_assert($msg, file!(), line!())
+            }
+        }
+    )
+
     macro_rules! assert_eq (
         ($given:expr , $expected:expr) =>
         ({let given_val = $given;