diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-01-20 19:44:38 -0800 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-01-20 19:48:33 -0800 |
| commit | ba5cc236f7596148ad560b0bb651d82d15f0fc7f (patch) | |
| tree | 6fc876ee1034498409e53e3a5d5534b2bc1e60ca /src/test | |
| parent | ae4c139144d45bedb985afa093dee57d91fdb0ef (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.rs | 18 | ||||
| -rw-r--r-- | src/test/compile-fail/tag-exports-3.rs | 19 | ||||
| -rw-r--r-- | src/test/compile-fail/tag-exports.rs | 18 | ||||
| -rw-r--r-- | src/test/run-pass/tag-exports.rs | 21 |
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 |
