aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/output-slot-variants.rs
blob: 5142a9b136f5407a209094ad3a1b3f53ca92750c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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

}