3 #![allow(unused_variables)]
4 // pretty-expanded FIXME #23616
6 #![feature(box_syntax)]
8 struct A { a: isize, b: Box<isize> }
9 struct B { a: Box<isize>, b: Box<isize> }
11 fn move_after_copy() {
12 let x = A { a: 1, b: box 2 };
17 fn move_after_fu_copy() {
18 let x = A { a: 1, b: box 2 };
19 let _y = A { b: box 3, .. x };
23 fn fu_move_after_copy() {
24 let x = A { a: 1, b: box 2 };
26 let _y = A { a: 3, .. x };
29 fn fu_move_after_fu_copy() {
30 let x = A { a: 1, b: box 2 };
31 let _y = A { b: box 3, .. x };
32 let _z = A { a: 4, .. x };
35 fn copy_after_move() {
36 let x = A { a: 1, b: box 2 };
41 fn copy_after_fu_move() {
42 let x = A { a: 1, b: box 2 };
43 let y = A { a: 3, .. x };
47 fn fu_copy_after_move() {
48 let x = A { a: 1, b: box 2 };
50 let _y = A { b: box 3, .. x };
53 fn fu_copy_after_fu_move() {
54 let x = A { a: 1, b: box 2 };
55 let _y = A { a: 3, .. x };
56 let _z = A { b: box 3, .. x };
59 fn borrow_after_move() {
60 let x = A { a: 1, b: box 2 };
66 fn borrow_after_fu_move() {
67 let x = A { a: 1, b: box 2 };
68 let _y = A { a: 3, .. x };
73 fn move_after_borrow() {
74 let x = A { a: 1, b: box 2 };
80 fn fu_move_after_borrow() {
81 let x = A { a: 1, b: box 2 };
83 let _y = A { a: 3, .. x };
87 fn mut_borrow_after_mut_borrow() {
88 let mut x = A { a: 1, b: box 2 };
95 fn move_after_move() {
96 let x = B { a: box 1, b: box 2 };
101 fn move_after_fu_move() {
102 let x = B { a: box 1, b: box 2 };
103 let y = B { a: box 3, .. x };
107 fn fu_move_after_move() {
108 let x = B { a: box 1, b: box 2 };
110 let z = B { a: box 3, .. x };
114 fn fu_move_after_fu_move() {
115 let x = B { a: box 1, b: box 2 };
116 let _y = B { b: box 3, .. x };
117 let _z = B { a: box 4, .. x };
120 fn copy_after_assign_after_move() {
121 let mut x = A { a: 1, b: box 2 };
123 x = A { a: 3, b: box 4 };
127 fn copy_after_assign_after_fu_move() {
128 let mut x = A { a: 1, b: box 2 };
129 let _y = A { a: 3, .. x };
130 x = A { a: 3, b: box 4 };
134 fn copy_after_field_assign_after_move() {
135 let mut x = A { a: 1, b: box 2 };
141 fn copy_after_field_assign_after_fu_move() {
142 let mut x = A { a: 1, b: box 2 };
143 let _y = A { a: 3, .. x };
148 fn borrow_after_assign_after_move() {
149 let mut x = A { a: 1, b: box 2 };
151 x = A { a: 3, b: box 4 };
156 fn borrow_after_assign_after_fu_move() {
157 let mut x = A { a: 1, b: box 2 };
158 let _y = A { a: 3, .. x };
159 x = A { a: 3, b: box 4 };
164 fn borrow_after_field_assign_after_move() {
165 let mut x = A { a: 1, b: box 2 };
172 fn borrow_after_field_assign_after_fu_move() {
173 let mut x = A { a: 1, b: box 2 };
174 let _y = A { a: 3, .. x };
180 fn move_after_assign_after_move() {
181 let mut x = A { a: 1, b: box 2 };
183 x = A { a: 3, b: box 4 };
187 fn move_after_assign_after_fu_move() {
188 let mut x = A { a: 1, b: box 2 };
189 let _y = A { a: 3, .. x };
190 x = A { a: 3, b: box 4 };
194 fn move_after_field_assign_after_move() {
195 let mut x = A { a: 1, b: box 2 };
201 fn move_after_field_assign_after_fu_move() {
202 let mut x = A { a: 1, b: box 2 };
203 let _y = A { a: 3, .. x };
208 fn copy_after_assign_after_uninit() {
210 x = A { a: 1, b: box 2 };
214 fn borrow_after_assign_after_uninit() {
216 x = A { a: 1, b: box 2 };
221 fn move_after_assign_after_uninit() {
223 x = A { a: 1, b: box 2 };
229 move_after_fu_copy();
230 fu_move_after_copy();
231 fu_move_after_fu_copy();
233 copy_after_fu_move();
234 fu_copy_after_move();
235 fu_copy_after_fu_move();
238 borrow_after_fu_move();
240 fu_move_after_borrow();
241 mut_borrow_after_mut_borrow();
244 move_after_fu_move();
245 fu_move_after_move();
246 fu_move_after_fu_move();
248 copy_after_assign_after_move();
249 copy_after_assign_after_fu_move();
250 copy_after_field_assign_after_move();
251 copy_after_field_assign_after_fu_move();
253 borrow_after_assign_after_move();
254 borrow_after_assign_after_fu_move();
255 borrow_after_field_assign_after_move();
256 borrow_after_field_assign_after_fu_move();
258 move_after_assign_after_move();
259 move_after_assign_after_fu_move();
260 move_after_field_assign_after_move();
261 move_after_field_assign_after_fu_move();
263 copy_after_assign_after_uninit();
264 borrow_after_assign_after_uninit();
265 move_after_assign_after_uninit();