1 // MIR for `move_out_by_subslice` 0 mir_map
3 fn move_out_by_subslice() -> () {
4 let mut _0: (); // return place in scope 0 at $DIR/uniform_array_move_out.rs:10:27: 10:27
5 let _1: [std::boxed::Box<i32>; 2]; // in scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10
6 let mut _2: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
7 let mut _3: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
8 let mut _4: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
9 let mut _5: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
11 debug a => _1; // in scope 1 at $DIR/uniform_array_move_out.rs:11:9: 11:10
12 let _6: [std::boxed::Box<i32>; 2]; // in scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17
14 debug _y => _6; // in scope 2 at $DIR/uniform_array_move_out.rs:12:10: 12:17
19 StorageLive(_1); // scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10
20 StorageLive(_2); // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
21 StorageLive(_3); // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
22 _3 = Box(i32); // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
23 (*_3) = const 1_i32; // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
26 // + val: Value(Scalar(0x00000001))
28 // + span: $DIR/uniform_array_move_out.rs:11:18: 11:19
29 // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) }
30 _2 = move _3; // scope 0 at $DIR/uniform_array_move_out.rs:11:14: 11:19
31 drop(_3) -> [return: bb4, unwind: bb2]; // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
35 resume; // scope 0 at $DIR/uniform_array_move_out.rs:10:1: 13:2
39 drop(_2) -> bb1; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
43 drop(_3) -> bb2; // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
47 StorageDead(_3); // scope 0 at $DIR/uniform_array_move_out.rs:11:18: 11:19
48 StorageLive(_4); // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
49 StorageLive(_5); // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
50 _5 = Box(i32); // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
51 (*_5) = const 2_i32; // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
54 // + val: Value(Scalar(0x00000002))
56 // + span: $DIR/uniform_array_move_out.rs:11:25: 11:26
57 // + literal: Const { ty: i32, val: Value(Scalar(0x00000002)) }
58 _4 = move _5; // scope 0 at $DIR/uniform_array_move_out.rs:11:21: 11:26
59 drop(_5) -> [return: bb7, unwind: bb5]; // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
63 drop(_4) -> bb2; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
67 drop(_5) -> bb5; // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
71 StorageDead(_5); // scope 0 at $DIR/uniform_array_move_out.rs:11:25: 11:26
72 _1 = [move _2, move _4]; // scope 0 at $DIR/uniform_array_move_out.rs:11:13: 11:27
73 drop(_4) -> [return: bb8, unwind: bb2]; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
77 StorageDead(_4); // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
78 drop(_2) -> [return: bb9, unwind: bb1]; // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
82 StorageDead(_2); // scope 0 at $DIR/uniform_array_move_out.rs:11:26: 11:27
83 FakeRead(ForLet, _1); // scope 0 at $DIR/uniform_array_move_out.rs:11:9: 11:10
84 StorageLive(_6); // scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17
85 _6 = move _1[0..2]; // scope 1 at $DIR/uniform_array_move_out.rs:12:10: 12:17
86 _0 = const (); // scope 0 at $DIR/uniform_array_move_out.rs:10:27: 13:2
89 // + val: Value(Scalar(<ZST>))
91 // + span: $DIR/uniform_array_move_out.rs:10:27: 13:2
92 // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
93 drop(_6) -> [return: bb12, unwind: bb10]; // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
97 drop(_1) -> bb1; // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
101 drop(_6) -> bb10; // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
105 StorageDead(_6); // scope 1 at $DIR/uniform_array_move_out.rs:13:1: 13:2
106 drop(_1) -> [return: bb13, unwind: bb1]; // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
110 StorageDead(_1); // scope 0 at $DIR/uniform_array_move_out.rs:13:1: 13:2
111 goto -> bb14; // scope 0 at $DIR/uniform_array_move_out.rs:13:2: 13:2
115 return; // scope 0 at $DIR/uniform_array_move_out.rs:13:2: 13:2