diff options
| author | Graydon Hoare <[email protected]> | 2010-06-23 21:03:09 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-06-23 21:03:09 -0700 |
| commit | d6b7c96c3eb29b9244ece0c046d3f372ff432d04 (patch) | |
| tree | b425187e232966063ffc2f0d14c04a55d8f004ef /src/test/run-pass/generic-obj.rs | |
| parent | Initial git commit. (diff) | |
| download | rust-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.rs | 24 |
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); +} |