aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-24 13:32:59 -0700
committerGraydon Hoare <[email protected]>2010-06-24 13:32:59 -0700
commitaf44ec2856603b8a978a1f2582c285c7c0065403 (patch)
tree7cc4d0ad4765a2b320580355242a15027eb97062 /src/test
parentRemove redundant copy of comment. (diff)
downloadrust-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.rs58
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
+
+}