aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/generic-obj.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
committerGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
commitd6b7c96c3eb29b9244ece0c046d3f372ff432d04 (patch)
treeb425187e232966063ffc2f0d14c04a55d8f004ef /src/test/run-pass/generic-obj.rs
parentInitial git commit. (diff)
downloadrust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.tar.xz
rust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.zip
Populate tree.
Diffstat (limited to 'src/test/run-pass/generic-obj.rs')
-rw-r--r--src/test/run-pass/generic-obj.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/run-pass/generic-obj.rs b/src/test/run-pass/generic-obj.rs
new file mode 100644
index 00000000..f67fef4f
--- /dev/null
+++ b/src/test/run-pass/generic-obj.rs
@@ -0,0 +1,24 @@
+obj buf[T](tup(T,T,T) data) {
+ fn get(int i) -> T {
+ if (i == 0) {
+ ret data._0;
+ } else {
+ if (i == 1) {
+ ret data._1;
+ } else {
+ ret data._2;
+ }
+ }
+ }
+}
+
+fn main() {
+ let buf[int] b = buf[int](tup(1,2,3));
+ log "constructed object";
+ log b.get(0);
+ log b.get(1);
+ log b.get(2);
+ check (b.get(0) == 1);
+ check (b.get(1) == 2);
+ check (b.get(2) == 3);
+}