about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-01-20 19:44:38 -0800
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-01-20 19:48:33 -0800
commitba5cc236f7596148ad560b0bb651d82d15f0fc7f (patch)
tree6fc876ee1034498409e53e3a5d5534b2bc1e60ca /src/test
parentae4c139144d45bedb985afa093dee57d91fdb0ef (diff)
WIP on issue 1426 (exporting all tags)
Support Lenny222's proposed syntax for exporting a tag without
its variants, or selected tags from a variant, in the AST and parser.
No support further down the line yet. Tests are xfailed.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/tag-exports-2.rs18
-rw-r--r--src/test/compile-fail/tag-exports-3.rs19
-rw-r--r--src/test/compile-fail/tag-exports.rs18
-rw-r--r--src/test/run-pass/tag-exports.rs21
4 files changed, 76 insertions, 0 deletions
diff --git a/src/test/compile-fail/tag-exports-2.rs b/src/test/compile-fail/tag-exports-2.rs
new file mode 100644
index 00000000000..04bac524d9b
--- /dev/null
+++ b/src/test/compile-fail/tag-exports-2.rs
@@ -0,0 +1,18 @@
+// xfail-test
+mod alder {
+  export burnside;
+  export everett::{flanders};
+  export irving::{johnson, kearney};
+  export marshall::{};
+
+  tag burnside { couch, davis }
+  tag everett { flanders, glisan, hoyt }
+  tag irving { johnson, kearney, lovejoy }
+  tag marshall { northrup, overton }
+}
+
+import alder::*;
+
+fn main() {
+  let raleigh: irving = lovejoy;
+}
\ No newline at end of file
diff --git a/src/test/compile-fail/tag-exports-3.rs b/src/test/compile-fail/tag-exports-3.rs
new file mode 100644
index 00000000000..8b58c1b9ff0
--- /dev/null
+++ b/src/test/compile-fail/tag-exports-3.rs
@@ -0,0 +1,19 @@
+// xfail-test
+mod alder {
+  export burnside;
+  export everett::{flanders};
+  export irving::{johnson, kearney};
+  export marshall::{};
+
+  tag burnside { couch, davis }
+  tag everett { flanders, glisan, hoyt }
+  tag irving { johnson, kearney, lovejoy }
+  tag marshall { northrup, overton }
+}
+
+import alder::*;
+
+fn main() {
+  let savier: marshall = northrup;
+
+}
\ No newline at end of file
diff --git a/src/test/compile-fail/tag-exports.rs b/src/test/compile-fail/tag-exports.rs
new file mode 100644
index 00000000000..79cb33f0fb2
--- /dev/null
+++ b/src/test/compile-fail/tag-exports.rs
@@ -0,0 +1,18 @@
+// xfail-test
+mod alder {
+  export burnside;
+  export everett::{flanders};
+  export irving::{johnson, kearney};
+  export marshall::{};
+
+  tag burnside { couch, davis }
+  tag everett { flanders, glisan, hoyt }
+  tag irving { johnson, kearney, lovejoy }
+  tag marshall { northrup, overton }
+}
+
+import alder::*;
+
+fn main() {
+  let quimby: everett = glisan;
+}
\ No newline at end of file
diff --git a/src/test/run-pass/tag-exports.rs b/src/test/run-pass/tag-exports.rs
new file mode 100644
index 00000000000..719e252b732
--- /dev/null
+++ b/src/test/run-pass/tag-exports.rs
@@ -0,0 +1,21 @@
+// xfail-test
+mod alder {
+  export burnside;
+  export everett::{flanders};
+  export irving::{johnson, kearney};
+  export marshall::{};
+
+  tag burnside { couch, davis }
+  tag everett { flanders, glisan, hoyt }
+  tag irving { johnson, kearney, lovejoy }
+  tag marshall { northrup, overton }
+}
+
+import alder::*;
+
+fn main() {
+  let pettygrove: burnside = couch;
+  let quimby: everett = flanders;
+  let raleigh: irving = johnson;
+  let savier: marshall;
+}
\ No newline at end of file