about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-06-20 12:13:05 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-06-20 12:13:59 +0000
commit9a6864dcd2bdebc67a0994a18bce7413893f1448 (patch)
tree8a91345d0cbffed32723dc6c92bea7e50a012d1e
parentd19ee0dcc0b94cc782f48a70af685a87c018ce85 (diff)
downloadrust-9a6864dcd2bdebc67a0994a18bce7413893f1448.tar.gz
rust-9a6864dcd2bdebc67a0994a18bce7413893f1448.zip
Add more hygiene tests
-rw-r--r--src/test/run-pass/hygiene.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/run-pass/hygiene.rs b/src/test/run-pass/hygiene.rs
index d39fd0cbf38..b4559722026 100644
--- a/src/test/run-pass/hygiene.rs
+++ b/src/test/run-pass/hygiene.rs
@@ -18,4 +18,27 @@ fn main() {
 
     let x = 1;
     foo!();
+
+    g();
+}
+
+fn g() {
+    let x = 0;
+    macro_rules! m { ($x:ident) => {
+        macro_rules! m2 { () => { ($x, x) } }
+        let x = 1;
+        macro_rules! m3 { () => { ($x, x) } }
+    } }
+
+    let x = 2;
+    m!(x);
+
+    let x = 3;
+    assert_eq!(m2!(), (2, 0));
+    assert_eq!(m3!(), (2, 1));
+
+    let x = 4;
+    m!(x);
+    assert_eq!(m2!(), (4, 0));
+    assert_eq!(m3!(), (4, 1));
 }