]> git.lizzy.rs Git - rust.git/blob - src/test/ui/output-slot-variants.rs
Auto merge of #81507 - weiznich:add_diesel_to_cargo_test, r=Mark-Simulacrum
[rust.git] / src / test / ui / output-slot-variants.rs
1 // run-pass
2
3 #![allow(dead_code)]
4 #![allow(unused_assignments)]
5 #![allow(unknown_lints)]
6 // pretty-expanded FIXME #23616
7
8 #![allow(dead_assignment)]
9 #![allow(unused_variables)]
10 #![feature(box_syntax)]
11
12 struct A { a: isize, b: isize }
13 struct Abox { a: Box<isize>, b: Box<isize> }
14
15 fn ret_int_i() -> isize { 10 }
16
17 fn ret_ext_i() -> Box<isize> { box 10 }
18
19 fn ret_int_rec() -> A { A {a: 10, b: 10} }
20
21 fn ret_ext_rec() -> Box<A> { box A {a: 10, b: 10} }
22
23 fn ret_ext_mem() -> Abox { Abox {a: box 10, b: box 10} }
24
25 fn ret_ext_ext_mem() -> Box<Abox> { box Abox{a: box 10, b: box 10} }
26
27 pub fn main() {
28     let mut int_i: isize;
29     let mut ext_i: Box<isize>;
30     let mut int_rec: A;
31     let mut ext_rec: Box<A>;
32     let mut ext_mem: Abox;
33     let mut ext_ext_mem: Box<Abox>;
34     int_i = ret_int_i(); // initializing
35
36     int_i = ret_int_i(); // non-initializing
37
38     int_i = ret_int_i(); // non-initializing
39
40     ext_i = ret_ext_i(); // initializing
41
42     ext_i = ret_ext_i(); // non-initializing
43
44     ext_i = ret_ext_i(); // non-initializing
45
46     int_rec = ret_int_rec(); // initializing
47
48     int_rec = ret_int_rec(); // non-initializing
49
50     int_rec = ret_int_rec(); // non-initializing
51
52     ext_rec = ret_ext_rec(); // initializing
53
54     ext_rec = ret_ext_rec(); // non-initializing
55
56     ext_rec = ret_ext_rec(); // non-initializing
57
58     ext_mem = ret_ext_mem(); // initializing
59
60     ext_mem = ret_ext_mem(); // non-initializing
61
62     ext_mem = ret_ext_mem(); // non-initializing
63
64     ext_ext_mem = ret_ext_ext_mem(); // initializing
65
66     ext_ext_mem = ret_ext_ext_mem(); // non-initializing
67
68     ext_ext_mem = ret_ext_ext_mem(); // non-initializing
69
70 }