aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorOr Brostovski <[email protected]>2010-08-21 02:41:43 +0300
committerOr Brostovski <[email protected]>2010-08-21 02:41:43 +0300
commit0830b5bf24a7117130e0089754cd96e51411284d (patch)
tree007dbef82fb2e6e63ac0c8153393c0902c22c5be /src/test
parentMerge branch 'master' of git://github.com/graydon/rust (diff)
downloadrust-0830b5bf24a7117130e0089754cd96e51411284d.tar.xz
rust-0830b5bf24a7117130e0089754cd96e51411284d.zip
Modified parser to handle alt type andadded a few tests
ast.ml - modified arm types for easier polymorphism - fixed a bug in fmt_type_arm dead.ml - modified arm types for easier polymorphism common.ml - added 'either' - added some useful auxiliary functions item.ml - modified arm code to be more polymorphic and handle both alt-tag and alt-type, also fixed the problematic case in bad-alt.rs Makefile - added XFAIL for new alt-type test bad-alt.rs - added test for invalid alt syntax alt-type-simple.rs - added simple test for alt type
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/bad-alt.rs6
-rw-r--r--src/test/run-pass/alt-type-simple.rs11
2 files changed, 17 insertions, 0 deletions
diff --git a/src/test/compile-fail/bad-alt.rs b/src/test/compile-fail/bad-alt.rs
new file mode 100644
index 00000000..f2582879
--- /dev/null
+++ b/src/test/compile-fail/bad-alt.rs
@@ -0,0 +1,6 @@
+// error-pattern: Unexpected token 'x'
+
+fn main() {
+ let int x = 5;
+ alt x;
+}
diff --git a/src/test/run-pass/alt-type-simple.rs b/src/test/run-pass/alt-type-simple.rs
new file mode 100644
index 00000000..85f6ff68
--- /dev/null
+++ b/src/test/run-pass/alt-type-simple.rs
@@ -0,0 +1,11 @@
+fn altsimple(any x) {
+ alt type (f) {
+ case (int i) { print("int"); }
+ case (str s) { print("str"); }
+ }
+}
+
+fn main() {
+ altsimple(5);
+ altsimple("asdfasdfsDF");
+}