diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-01-23 15:46:12 -0800 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-01-23 15:48:08 -0800 |
| commit | 6db688e893f69632624fb8d2e3b747a3b81000b0 (patch) | |
| tree | 522ab62d11e6fea23652b7342a4dfbb599483b9d /src/test | |
| parent | 9dc59e15061827122dc0f08d3f66acd17ba329dc (diff) | |
Check that the names mentioned in tag exports are actually types (or variants)
Check that in export foo{}, foo is an enum type, and that in export
foo{bar, quux}, foo is an enum type and bar and quux are variants belonging
to foo.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/bad-tag-export-2.rs | 11 | ||||
| -rw-r--r-- | src/test/compile-fail/bad-tag-export-3.rs | 13 | ||||
| -rw-r--r-- | src/test/compile-fail/bad-tag-export-4.rs | 12 | ||||
| -rw-r--r-- | src/test/compile-fail/bad-tag-export.rs | 14 |
4 files changed, 50 insertions, 0 deletions
diff --git a/src/test/compile-fail/bad-tag-export-2.rs b/src/test/compile-fail/bad-tag-export-2.rs new file mode 100644 index 00000000000..09018c2167f --- /dev/null +++ b/src/test/compile-fail/bad-tag-export-2.rs @@ -0,0 +1,11 @@ +// error-pattern:b does not refer to an enumeration +import bad::*; + +mod bad { + export b::{}; + + fn b() { fail; } +} + +fn main() { +} \ No newline at end of file diff --git a/src/test/compile-fail/bad-tag-export-3.rs b/src/test/compile-fail/bad-tag-export-3.rs new file mode 100644 index 00000000000..e6934688e21 --- /dev/null +++ b/src/test/compile-fail/bad-tag-export-3.rs @@ -0,0 +1,13 @@ +// error-pattern:b does not refer to an enumeration +import bad::*; + +mod bad { + export b::{f, z}; + + fn b() { fail; } + fn f() { fail; } + fn z() { fail; } +} + +fn main() { +} \ No newline at end of file diff --git a/src/test/compile-fail/bad-tag-export-4.rs b/src/test/compile-fail/bad-tag-export-4.rs new file mode 100644 index 00000000000..fadf0c353a3 --- /dev/null +++ b/src/test/compile-fail/bad-tag-export-4.rs @@ -0,0 +1,12 @@ +// error-pattern:f is not a variant +import bad::*; + +mod bad { + export b::{f, z}; + + enum b { z, k } + fn f() { fail; } +} + +fn main() { +} \ No newline at end of file diff --git a/src/test/compile-fail/bad-tag-export.rs b/src/test/compile-fail/bad-tag-export.rs new file mode 100644 index 00000000000..fb9d9b8682c --- /dev/null +++ b/src/test/compile-fail/bad-tag-export.rs @@ -0,0 +1,14 @@ +// error-pattern:variant e doesn't belong to enum floop +import bad::*; + +mod bad { + + export floop::{a, e}; + + enum floop {a, b, c} + enum bloop {d, e, f} + +} + +fn main() { +} \ No newline at end of file |
