about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Clements <clements@racket-lang.org>2013-09-20 23:37:19 -0700
committerAlex Crichton <alex@alexcrichton.com>2014-06-24 17:22:54 -0700
commita4a0c69209b98688db362f9e37a5c0296b9ff7bc (patch)
tree14121c89fd2a39e69ade92af01b8409b5ed409e4
parent3ed78f5b6b5d85c9de5794dcf16cecf5d16f7864 (diff)
added xfailed tests for two other flavors of var hygiene
-rw-r--r--src/test/run-pass/lambda-var-hygiene.rs23
-rw-r--r--src/test/run-pass/match-var-hygiene.rs24
2 files changed, 47 insertions, 0 deletions
diff --git a/src/test/run-pass/lambda-var-hygiene.rs b/src/test/run-pass/lambda-var-hygiene.rs
new file mode 100644
index 00000000000..5dfc4208554
--- /dev/null
+++ b/src/test/run-pass/lambda-var-hygiene.rs
@@ -0,0 +1,23 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-test #9383
+
+#![feature(macro_rules)]
+
+// shouldn't affect evaluation of $ex:
+macro_rules! bad_macro (($ex:expr) => ({(|_x| { $ex }) (9) }))
+
+fn takes_x(_x : int) {
+    assert_eq!(bad_macro!(_x),8);
+}
+fn main() {
+    takes_x(8);
+}
diff --git a/src/test/run-pass/match-var-hygiene.rs b/src/test/run-pass/match-var-hygiene.rs
new file mode 100644
index 00000000000..482fdf5b1d0
--- /dev/null
+++ b/src/test/run-pass/match-var-hygiene.rs
@@ -0,0 +1,24 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-test #9384
+
+#![feature(macro_rules)]
+
+// shouldn't affect evaluation of $ex.
+macro_rules! bad_macro (($ex:expr) => (
+    {match 9 {_x => $ex}}
+))
+
+fn main() {
+    match 8 {
+        _x => assert_eq!(bad_macro!(_x),8)
+    }
+}