diff options
| author | Graydon Hoare <[email protected]> | 2010-06-24 13:32:59 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-06-24 13:32:59 -0700 |
| commit | af44ec2856603b8a978a1f2582c285c7c0065403 (patch) | |
| tree | 7cc4d0ad4765a2b320580355242a15027eb97062 /src/test | |
| parent | Remove redundant copy of comment. (diff) | |
| download | rust-af44ec2856603b8a978a1f2582c285c7c0065403.tar.xz rust-af44ec2856603b8a978a1f2582c285c7c0065403.zip | |
Issue 24, drop output slot when not initializing. Un-XFAIL generic-tag.rs. Add test for output slot modes with several broken cases.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/output-slot-variants.rs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/test/run-pass/output-slot-variants.rs b/src/test/run-pass/output-slot-variants.rs new file mode 100644 index 00000000..65d03fd8 --- /dev/null +++ b/src/test/run-pass/output-slot-variants.rs @@ -0,0 +1,58 @@ +fn ret_int_i() -> int { + ret 10; +} + +fn ret_ext_i() -> @int { + ret 10; +} + +fn ret_int_tup() -> tup(int,int) { + ret tup(10, 10); +} + +fn ret_ext_tup() -> @tup(int,int) { + ret tup(10, 10); +} + +fn ret_ext_mem() -> tup(@int, @int) { + ret tup(@10, @10); +} + +fn ret_ext_ext_mem() -> @tup(@int, @int) { + ret tup(@10, @10); +} + +fn main() { + + let int int_i; + let @int ext_i; + let tup(int,int) int_tup; + let @tup(int,int) ext_tup; + let tup(@int,@int) ext_mem; + let @tup(@int,@int) ext_ext_mem; + + int_i = ret_int_i(); // initializing + int_i = ret_int_i(); // non-initializing + int_i = ret_int_i(); // non-initializing + + //ext_i = ret_ext_i(); // initializing + //ext_i = ret_ext_i(); // non-initializing + //ext_i = ret_ext_i(); // non-initializing + + int_tup = ret_int_tup(); // initializing + int_tup = ret_int_tup(); // non-initializing + int_tup = ret_int_tup(); // non-initializing + + //ext_tup = ret_ext_tup(); // initializing + //ext_tup = ret_ext_tup(); // non-initializing + //ext_tup = ret_ext_tup(); // non-initializing + + ext_mem = ret_ext_mem(); // initializing + ext_mem = ret_ext_mem(); // non-initializing + ext_mem = ret_ext_mem(); // non-initializing + + //ext_ext_mem = ret_ext_ext_mem(); // initializing + //ext_ext_mem = ret_ext_ext_mem(); // non-initializing + //ext_ext_mem = ret_ext_ext_mem(); // non-initializing + +} |