aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/generic-fn.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-pass/generic-fn.rs')
-rw-r--r--src/test/run-pass/generic-fn.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/run-pass/generic-fn.rs b/src/test/run-pass/generic-fn.rs
new file mode 100644
index 00000000..68e5fa5b
--- /dev/null
+++ b/src/test/run-pass/generic-fn.rs
@@ -0,0 +1,32 @@
+// -*- rust -*-
+
+fn id[T](T x) -> T {
+ ret x;
+}
+
+type triple = tup(int,int,int);
+
+fn main() {
+ auto x = 62;
+ auto y = 63;
+ auto a = 'a';
+ auto b = 'b';
+
+ let triple p = tup(65, 66, 67);
+ let triple q = tup(68, 69, 70);
+
+ y = id[int](x);
+ log y;
+ check (x == y);
+
+ b = id[char](a);
+ log b;
+ check (a == b);
+
+ q = id[triple](p);
+ x = p._2;
+ y = q._2;
+ log y;
+ check (x == y);
+
+}