aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/box-compare.rs5
-rw-r--r--src/test/run-pass/generic-bind-2.rs10
-rw-r--r--src/test/run-pass/generic-bind.rs6
-rw-r--r--src/test/run-pass/generic-tag-alt.rs2
-rw-r--r--src/test/run-pass/generic-tag-local.rs8
-rw-r--r--src/test/run-pass/leak-tag-copy.rs9
-rw-r--r--src/test/run-pass/seq-compare.rs15
-rw-r--r--src/test/run-pass/simple-generic-alt.rs11
-rw-r--r--src/test/run-pass/simple-generic-tag.rs7
9 files changed, 70 insertions, 3 deletions
diff --git a/src/test/run-pass/box-compare.rs b/src/test/run-pass/box-compare.rs
new file mode 100644
index 00000000..5115d510
--- /dev/null
+++ b/src/test/run-pass/box-compare.rs
@@ -0,0 +1,5 @@
+fn main() {
+ check (@1 < @3);
+ check (@@"hello " > @@"hello");
+ check (@@@"hello" != @@@"there");
+} \ No newline at end of file
diff --git a/src/test/run-pass/generic-bind-2.rs b/src/test/run-pass/generic-bind-2.rs
new file mode 100644
index 00000000..95a8cab4
--- /dev/null
+++ b/src/test/run-pass/generic-bind-2.rs
@@ -0,0 +1,10 @@
+fn id[T](&T t) -> T {
+ ret t;
+}
+
+fn main() {
+ auto t = tup(1,2,3,4,5,6,7);
+ check (t._5 == 6);
+ auto f0 = bind id[tup(int,int,int,int,int,int,int)](t);
+ check (f0()._5 == 6);
+}
diff --git a/src/test/run-pass/generic-bind.rs b/src/test/run-pass/generic-bind.rs
index 61085eb5..ef1275e3 100644
--- a/src/test/run-pass/generic-bind.rs
+++ b/src/test/run-pass/generic-bind.rs
@@ -3,6 +3,8 @@ fn id[T](&T t) -> T {
}
fn main() {
- auto f = bind id[int](_);
- check (f(10) == 10);
+ auto t = tup(1,2,3,4,5,6,7);
+ check (t._5 == 6);
+ auto f1 = bind id[tup(int,int,int,int,int,int,int)](_);
+ check (f1(t)._5 == 6);
}
diff --git a/src/test/run-pass/generic-tag-alt.rs b/src/test/run-pass/generic-tag-alt.rs
index 4f04e729..9b19eec7 100644
--- a/src/test/run-pass/generic-tag-alt.rs
+++ b/src/test/run-pass/generic-tag-alt.rs
@@ -2,7 +2,7 @@ tag foo[T] {
arm(T);
}
-fn altfoo[T](foo[T] f) {
+fn altfoo[T](&foo[T] f) {
auto hit = false;
alt (f) {
case (arm[T](?x)) {
diff --git a/src/test/run-pass/generic-tag-local.rs b/src/test/run-pass/generic-tag-local.rs
new file mode 100644
index 00000000..63e2e195
--- /dev/null
+++ b/src/test/run-pass/generic-tag-local.rs
@@ -0,0 +1,8 @@
+tag clam[T] {
+ a(T);
+}
+
+fn main() {
+ auto c = a(3);
+}
+
diff --git a/src/test/run-pass/leak-tag-copy.rs b/src/test/run-pass/leak-tag-copy.rs
new file mode 100644
index 00000000..25d87c6e
--- /dev/null
+++ b/src/test/run-pass/leak-tag-copy.rs
@@ -0,0 +1,9 @@
+tag t {
+ a;
+ b(@int);
+}
+
+fn main() {
+ auto x = b(@10);
+ x = a;
+} \ No newline at end of file
diff --git a/src/test/run-pass/seq-compare.rs b/src/test/run-pass/seq-compare.rs
new file mode 100644
index 00000000..b3fe5701
--- /dev/null
+++ b/src/test/run-pass/seq-compare.rs
@@ -0,0 +1,15 @@
+fn main() {
+ check ("hello" < "hellr");
+ check ("hello " > "hello");
+ check ("hello" != "there");
+
+ check (vec(1,2,3,4) > vec(1,2,3));
+ check (vec(1,2,3) < vec(1,2,3,4));
+ check (vec(1,2,4,4) > vec(1,2,3,4));
+ check (vec(1,2,3,4) < vec(1,2,4,4));
+ check (vec(1,2,3) <= vec(1,2,3));
+ check (vec(1,2,3) <= vec(1,2,3,3));
+ check (vec(1,2,3,4) > vec(1,2,3));
+ check (vec(1,2,3) == vec(1,2,3));
+ check (vec(1,2,3) != vec(1,1,3));
+} \ No newline at end of file
diff --git a/src/test/run-pass/simple-generic-alt.rs b/src/test/run-pass/simple-generic-alt.rs
new file mode 100644
index 00000000..85db5c7c
--- /dev/null
+++ b/src/test/run-pass/simple-generic-alt.rs
@@ -0,0 +1,11 @@
+tag clam[T] {
+ a(T);
+}
+
+fn main() {
+ auto c = a(2);
+ alt (c) {
+ case (a[int](_)) {}
+ }
+}
+
diff --git a/src/test/run-pass/simple-generic-tag.rs b/src/test/run-pass/simple-generic-tag.rs
new file mode 100644
index 00000000..ba6a3242
--- /dev/null
+++ b/src/test/run-pass/simple-generic-tag.rs
@@ -0,0 +1,7 @@
+tag clam[T] {
+ a(T);
+}
+
+fn main() {
+}
+