]> git.proxmox.com Git - rustc.git/blob - tests/mir-opt/unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.mir
New upstream version 1.70.0+dfsg1
[rustc.git] / tests / mir-opt / unusual_item_types.core.ptr-drop_in_place.Vec_i32_.AddMovesForPackedDrops.before.mir
1 // MIR for `std::ptr::drop_in_place` before AddMovesForPackedDrops
2
3 fn std::ptr::drop_in_place(_1: *mut Vec<i32>) -> () {
4 let mut _0: (); // return place in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
5 let mut _2: &mut std::vec::Vec<i32>; // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
6 let mut _3: (); // in scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
7
8 bb0: {
9 goto -> bb6; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
10 }
11
12 bb1: {
13 return; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
14 }
15
16 bb2 (cleanup): {
17 resume; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
18 }
19
20 bb3: {
21 goto -> bb1; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
22 }
23
24 bb4 (cleanup): {
25 drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb2, unwind terminate]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
26 }
27
28 bb5: {
29 drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb2]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
30 }
31
32 bb6: {
33 _2 = &mut (*_1); // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
34 _3 = <Vec<i32> as Drop>::drop(move _2) -> [return: bb5, unwind: bb4]; // scope 0 at $SRC_DIR/core/src/ptr/mod.rs:+0:1: +0:56
35 // mir::Constant
36 // + span: $SRC_DIR/core/src/ptr/mod.rs:LL:COL
37 // + literal: Const { ty: for<'a> fn(&'a mut Vec<i32>) {<Vec<i32> as Drop>::drop}, val: Value(<ZST>) }
38 }
39 }