]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/slice-drop-shim.rs
Rollup merge of #65389 - ecstatic-morse:zero-sized-array-no-drop, r=eddyb
[rust.git] / src / test / mir-opt / slice-drop-shim.rs
1 fn main() {
2     std::ptr::drop_in_place::<[String]> as unsafe fn(_);
3 }
4
5 // END RUST SOURCE
6
7 // START rustc.ptr-real_drop_in_place.[std__string__String].AddMovesForPackedDrops.before.mir
8 // let mut _2: usize;
9 // let mut _3: usize;
10 // let mut _4: usize;
11 // let mut _5: &mut std::string::String;
12 // let mut _6: bool;
13 // let mut _7: &mut std::string::String;
14 // let mut _8: bool;
15 // let mut _9: *mut std::string::String;
16 // let mut _10: *mut std::string::String;
17 // let mut _11: &mut std::string::String;
18 // let mut _12: bool;
19 // let mut _13: &mut std::string::String;
20 // let mut _14: bool;
21 // let mut _15: *mut [std::string::String];
22 // bb0: {
23 //     goto -> bb15;
24 // }
25 // bb1: {
26 //     return;
27 // }
28 // bb2 (cleanup): {
29 //     resume;
30 // }
31 // bb3 (cleanup): {
32 //     _5 = &mut (*_1)[_4];
33 //     _4 = Add(move _4, const 1usize);
34 //     drop((*_5)) -> bb4;
35 // }
36 // bb4 (cleanup): {
37 //     _6 = Eq(_4, _3);
38 //     switchInt(move _6) -> [false: bb3, otherwise: bb2];
39 // }
40 // bb5: {
41 //     _7 = &mut (*_1)[_4];
42 //     _4 = Add(move _4, const 1usize);
43 //     drop((*_7)) -> [return: bb6, unwind: bb4];
44 // }
45 // bb6: {
46 //     _8 = Eq(_4, _3);
47 //     switchInt(move _8) -> [false: bb5, otherwise: bb1];
48 // }
49 // bb7: {
50 //     _4 = const 0usize;
51 //     goto -> bb6;
52 // }
53 // bb8: {
54 //     goto -> bb7;
55 // }
56 // bb9 (cleanup): {
57 //     _11 = &mut (*_9);
58 //     _9 = Offset(move _9, const 1usize);
59 //     drop((*_11)) -> bb10;
60 // }
61 // bb10 (cleanup): {
62 //     _12 = Eq(_9, _10);
63 //     switchInt(move _12) -> [false: bb9, otherwise: bb2];
64 // }
65 // bb11: {
66 //     _13 = &mut (*_9);
67 //     _9 = Offset(move _9, const 1usize);
68 //     drop((*_13)) -> [return: bb12, unwind: bb10];
69 // }
70 // bb12: {
71 //     _14 = Eq(_9, _10);
72 //     switchInt(move _14) -> [false: bb11, otherwise: bb1];
73 // }
74 // bb13: {
75 //     _15 = &mut (*_1);
76 //     _9 = move _15 as *mut std::string::String (Misc);
77 //     _10 = Offset(_9, move _3);
78 //     goto -> bb12;
79 // }
80 // bb14: {
81 //     goto -> bb13;
82 // }
83 // bb15: {
84 //     _2 = SizeOf(std::string::String);
85 //     _3 = Len((*_1));
86 //     switchInt(move _2) -> [0usize: bb8, otherwise: bb14];
87 // }
88 // END rustc.ptr-real_drop_in_place.[std__string__String].AddMovesForPackedDrops.before.mir