1 // MIR for `move_out_from_end` 0 mir_map
3 fn move_out_from_end() -> () {
4 let mut _0: (); // return place in scope 0 at $DIR/uniform_array_move_out.rs:4:24: 4:24
5 let _1: [std::boxed::Box<i32>; 2]; // in scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10
6 let mut _2: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
7 let mut _3: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
8 let mut _4: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
9 let mut _5: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
11 debug a => _1; // in scope 1 at $DIR/uniform_array_move_out.rs:5:9: 5:10
12 let _6: std::boxed::Box<i32>; // in scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16
14 debug _y => _6; // in scope 2 at $DIR/uniform_array_move_out.rs:6:14: 6:16
19 StorageLive(_1); // scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10
20 StorageLive(_2); // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
21 StorageLive(_3); // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
22 _3 = Box(i32); // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
23 (*_3) = const 1_i32; // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
24 _2 = move _3; // scope 0 at $DIR/uniform_array_move_out.rs:5:14: 5:19
25 drop(_3) -> [return: bb1, unwind: bb9]; // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
29 StorageDead(_3); // scope 0 at $DIR/uniform_array_move_out.rs:5:18: 5:19
30 StorageLive(_4); // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
31 StorageLive(_5); // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
32 _5 = Box(i32); // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
33 (*_5) = const 2_i32; // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
34 _4 = move _5; // scope 0 at $DIR/uniform_array_move_out.rs:5:21: 5:26
35 drop(_5) -> [return: bb2, unwind: bb8]; // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
39 StorageDead(_5); // scope 0 at $DIR/uniform_array_move_out.rs:5:25: 5:26
40 _1 = [move _2, move _4]; // scope 0 at $DIR/uniform_array_move_out.rs:5:13: 5:27
41 drop(_4) -> [return: bb3, unwind: bb9]; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
45 StorageDead(_4); // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
46 drop(_2) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
50 StorageDead(_2); // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
51 FakeRead(ForLet(None), _1); // scope 0 at $DIR/uniform_array_move_out.rs:5:9: 5:10
52 StorageLive(_6); // scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16
53 _6 = move _1[1 of 2]; // scope 1 at $DIR/uniform_array_move_out.rs:6:14: 6:16
54 _0 = const (); // scope 0 at $DIR/uniform_array_move_out.rs:4:24: 7:2
55 drop(_6) -> [return: bb5, unwind: bb7]; // scope 1 at $DIR/uniform_array_move_out.rs:7:1: 7:2
59 StorageDead(_6); // scope 1 at $DIR/uniform_array_move_out.rs:7:1: 7:2
60 drop(_1) -> [return: bb6, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
64 StorageDead(_1); // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
65 return; // scope 0 at $DIR/uniform_array_move_out.rs:7:2: 7:2
69 drop(_1) -> bb10; // scope 0 at $DIR/uniform_array_move_out.rs:7:1: 7:2
73 drop(_4) -> bb9; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
77 drop(_2) -> bb10; // scope 0 at $DIR/uniform_array_move_out.rs:5:26: 5:27
81 resume; // scope 0 at $DIR/uniform_array_move_out.rs:4:1: 7:2