From af44ec2856603b8a978a1f2582c285c7c0065403 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Thu, 24 Jun 2010 13:32:59 -0700 Subject: Issue 24, drop output slot when not initializing. Un-XFAIL generic-tag.rs. Add test for output slot modes with several broken cases. --- src/test/run-pass/output-slot-variants.rs | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/test/run-pass/output-slot-variants.rs (limited to 'src/test') 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 + +} -- cgit v1.2.3