|
24 | 24 | debug ptr => _6; |
25 | 25 | scope 11 (inlined NonNull::<[bool; 0]>::new_unchecked) { |
26 | 26 | debug ptr => _6; |
27 | | - let mut _8: *const [bool; 0]; |
28 | | - let mut _9: *mut [bool; 0]; |
| 27 | + let mut _8: bool; |
| 28 | + let _9: (); |
| 29 | + let mut _10: *mut (); |
| 30 | + let mut _11: *const [bool; 0]; |
29 | 31 | scope 12 { |
30 | | - scope 13 (inlined NonNull::<T>::new_unchecked::runtime::<[bool; 0]>) { |
31 | | - debug ptr => _9; |
32 | | - scope 14 (inlined std::ptr::mut_ptr::<impl *mut [bool; 0]>::is_null) { |
33 | | - debug self => _9; |
34 | | - let mut _10: *mut u8; |
35 | | - scope 15 { |
36 | | - scope 16 (inlined std::ptr::mut_ptr::<impl *mut T>::is_null::runtime_impl) { |
37 | | - debug ptr => _10; |
38 | | - scope 17 (inlined std::ptr::mut_ptr::<impl *mut u8>::addr) { |
39 | | - debug self => _10; |
40 | | - scope 18 { |
41 | | - scope 19 (inlined std::ptr::mut_ptr::<impl *mut u8>::cast::<()>) { |
42 | | - debug self => _10; |
43 | | - } |
44 | | - } |
45 | | - } |
46 | | - } |
47 | | - } |
48 | | - } |
49 | | - } |
50 | 32 | } |
51 | 33 | } |
52 | 34 | } |
|
66 | 48 | StorageLive(_1); |
67 | 49 | StorageLive(_2); |
68 | 50 | StorageLive(_3); |
| 51 | + StorageLive(_9); |
69 | 52 | StorageLive(_4); |
70 | 53 | StorageLive(_5); |
71 | 54 | StorageLive(_6); |
72 | 55 | StorageLive(_7); |
73 | 56 | _7 = const 1_usize; |
74 | 57 | _6 = const {0x1 as *mut [bool; 0]}; |
75 | 58 | StorageDead(_7); |
76 | | - StorageLive(_8); |
77 | | - StorageLive(_9); |
78 | 59 | StorageLive(_10); |
79 | | - _8 = const {0x1 as *mut [bool; 0]} as *const [bool; 0] (PointerCoercion(MutToConstPointer)); |
80 | | - _5 = NonNull::<[bool; 0]> { pointer: _8 }; |
81 | | - StorageDead(_10); |
82 | | - StorageDead(_9); |
| 60 | + StorageLive(_11); |
| 61 | + StorageLive(_8); |
| 62 | + _8 = cfg!(debug_assertions); |
| 63 | + switchInt(move _8) -> [0: bb3, otherwise: bb2]; |
| 64 | + } |
| 65 | + |
| 66 | + bb1: { |
| 67 | + StorageDead(_1); |
| 68 | + return; |
| 69 | + } |
| 70 | + |
| 71 | + bb2: { |
| 72 | + _10 = const {0x1 as *mut [bool; 0]} as *mut () (PtrToPtr); |
| 73 | + _9 = NonNull::<T>::new_unchecked::precondition_check(move _10) -> [return: bb3, unwind unreachable]; |
| 74 | + } |
| 75 | + |
| 76 | + bb3: { |
83 | 77 | StorageDead(_8); |
| 78 | + _11 = const {0x1 as *mut [bool; 0]} as *const [bool; 0] (PointerCoercion(MutToConstPointer)); |
| 79 | + _5 = NonNull::<[bool; 0]> { pointer: _11 }; |
| 80 | + StorageDead(_11); |
| 81 | + StorageDead(_10); |
84 | 82 | StorageDead(_6); |
85 | 83 | _4 = Unique::<[bool; 0]> { pointer: move _5, _marker: const PhantomData::<[bool; 0]> }; |
86 | 84 | StorageDead(_5); |
87 | 85 | _3 = move _4 as std::ptr::Unique<[bool]> (PointerCoercion(Unsize)); |
88 | 86 | StorageDead(_4); |
89 | 87 | _2 = Box::<[bool]>(_3, const std::alloc::Global); |
| 88 | + StorageDead(_9); |
90 | 89 | StorageDead(_3); |
91 | 90 | _1 = A { foo: move _2 }; |
92 | 91 | StorageDead(_2); |
93 | 92 | _0 = const (); |
94 | 93 | drop(_1) -> [return: bb1, unwind unreachable]; |
95 | 94 | } |
96 | | - |
97 | | - bb1: { |
98 | | - StorageDead(_1); |
99 | | - return; |
100 | | - } |
101 | 95 | } |
102 | 96 |
|
0 commit comments