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:+0:27: +0:27
5 let _1: [std::boxed::Box<i32>; 2]; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
6 let mut _2: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
7 let mut _3: usize; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
8 let mut _4: usize; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
9 let mut _5: *mut u8; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
10 let mut _6: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
11 let mut _7: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
12 let mut _8: usize; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
13 let mut _9: usize; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
14 let mut _10: *mut u8; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
15 let mut _11: std::boxed::Box<i32>; // in scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
17 debug a => _1; // in scope 1 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
18 let _12: [std::boxed::Box<i32>; 2]; // in scope 1 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
20 debug _y => _12; // in scope 4 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
29 StorageLive(_1); // scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
30 StorageLive(_2); // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
31 _3 = SizeOf(i32); // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
32 _4 = AlignOf(i32); // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
33 _5 = alloc::alloc::exchange_malloc(move _3, move _4) -> [return: bb1, unwind: bb12]; // scope 2 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
35 // + span: $DIR/uniform_array_move_out.rs:11:14: 11:19
36 // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
40 StorageLive(_6); // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
41 _6 = ShallowInitBox(move _5, i32); // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
42 (*_6) = const 1_i32; // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
43 _2 = move _6; // scope 0 at $DIR/uniform_array_move_out.rs:+1:14: +1:19
44 drop(_6) -> [return: bb2, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
48 StorageDead(_6); // scope 0 at $DIR/uniform_array_move_out.rs:+1:18: +1:19
49 StorageLive(_7); // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
50 _8 = SizeOf(i32); // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
51 _9 = AlignOf(i32); // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
52 _10 = alloc::alloc::exchange_malloc(move _8, move _9) -> [return: bb3, unwind: bb11]; // scope 3 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
54 // + span: $DIR/uniform_array_move_out.rs:11:21: 11:26
55 // + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
59 StorageLive(_11); // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
60 _11 = ShallowInitBox(move _10, i32); // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
61 (*_11) = const 2_i32; // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
62 _7 = move _11; // scope 0 at $DIR/uniform_array_move_out.rs:+1:21: +1:26
63 drop(_11) -> [return: bb4, unwind: bb10]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
67 StorageDead(_11); // scope 0 at $DIR/uniform_array_move_out.rs:+1:25: +1:26
68 _1 = [move _2, move _7]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:13: +1:27
69 drop(_7) -> [return: bb5, unwind: bb11]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
73 StorageDead(_7); // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
74 drop(_2) -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
78 StorageDead(_2); // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
79 FakeRead(ForLet(None), _1); // scope 0 at $DIR/uniform_array_move_out.rs:+1:9: +1:10
80 StorageLive(_12); // scope 1 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
81 _12 = move _1[0..2]; // scope 1 at $DIR/uniform_array_move_out.rs:+2:10: +2:17
82 _0 = const (); // scope 0 at $DIR/uniform_array_move_out.rs:+0:27: +3:2
83 drop(_12) -> [return: bb7, unwind: bb9]; // scope 1 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
87 StorageDead(_12); // scope 1 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
88 drop(_1) -> [return: bb8, unwind: bb12]; // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
92 StorageDead(_1); // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
93 return; // scope 0 at $DIR/uniform_array_move_out.rs:+3:2: +3:2
97 drop(_1) -> bb12; // scope 0 at $DIR/uniform_array_move_out.rs:+3:1: +3:2
101 drop(_7) -> bb11; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
105 drop(_2) -> bb12; // scope 0 at $DIR/uniform_array_move_out.rs:+1:26: +1:27
109 resume; // scope 0 at $DIR/uniform_array_move_out.rs:+0:1: +3:2