|
19 | 19 | let _6: *mut [bool; 0]; |
20 | 20 | scope 6 { |
21 | 21 | scope 10 (inlined NonNull::<[bool; 0]>::new_unchecked) { |
22 | | - let mut _8: bool; |
23 | | - let _9: (); |
24 | | - let mut _10: *mut (); |
25 | | - let mut _11: *const [bool; 0]; |
| 22 | + let _8: (); |
| 23 | + let mut _9: *mut (); |
| 24 | + let mut _10: *const [bool; 0]; |
26 | 25 | scope 11 (inlined core::ub_checks::check_language_ub) { |
| 26 | + let mut _11: bool; |
27 | 27 | scope 12 (inlined core::ub_checks::check_language_ub::runtime) { |
28 | 28 | } |
29 | 29 | } |
|
44 | 44 | StorageLive(_1); |
45 | 45 | StorageLive(_2); |
46 | 46 | StorageLive(_3); |
47 | | - StorageLive(_9); |
| 47 | + StorageLive(_8); |
48 | 48 | StorageLive(_4); |
49 | 49 | StorageLive(_5); |
50 | 50 | StorageLive(_6); |
|
54 | 54 | + _7 = const 1_usize; |
55 | 55 | + _6 = const {0x1 as *mut [bool; 0]}; |
56 | 56 | StorageDead(_7); |
| 57 | + StorageLive(_10); |
57 | 58 | StorageLive(_11); |
58 | | - StorageLive(_8); |
59 | | - _8 = UbChecks(); |
60 | | - switchInt(move _8) -> [0: bb5, otherwise: bb3]; |
| 59 | + _11 = UbChecks(); |
| 60 | + switchInt(move _11) -> [0: bb6, otherwise: bb5]; |
61 | 61 | } |
62 | 62 |
|
63 | 63 | bb1: { |
|
70 | 70 | } |
71 | 71 |
|
72 | 72 | bb3: { |
73 | | - StorageLive(_10); |
74 | | -- _10 = _6 as *mut () (PtrToPtr); |
75 | | -- _9 = NonNull::<T>::new_unchecked::precondition_check(move _10) -> [return: bb4, unwind unreachable]; |
76 | | -+ _10 = const {0x1 as *mut ()}; |
77 | | -+ _9 = NonNull::<T>::new_unchecked::precondition_check(const {0x1 as *mut ()}) -> [return: bb4, unwind unreachable]; |
| 73 | + StorageDead(_9); |
| 74 | + goto -> bb4; |
78 | 75 | } |
79 | 76 |
|
80 | 77 | bb4: { |
81 | | - StorageDead(_10); |
82 | | - goto -> bb5; |
83 | | - } |
84 | | - |
85 | | - bb5: { |
86 | | - StorageDead(_8); |
87 | | -- _11 = _6 as *const [bool; 0] (PointerCoercion(MutToConstPointer)); |
88 | | -- _5 = NonNull::<[bool; 0]> { pointer: _11 }; |
89 | | -+ _11 = const {0x1 as *const [bool; 0]}; |
| 78 | +- _10 = _6 as *const [bool; 0] (PointerCoercion(MutToConstPointer)); |
| 79 | +- _5 = NonNull::<[bool; 0]> { pointer: _10 }; |
| 80 | ++ _10 = const {0x1 as *const [bool; 0]}; |
90 | 81 | + _5 = const NonNull::<[bool; 0]> {{ pointer: {0x1 as *const [bool; 0]} }}; |
91 | | - StorageDead(_11); |
| 82 | + StorageDead(_10); |
92 | 83 | StorageDead(_6); |
93 | 84 | - _4 = Unique::<[bool; 0]> { pointer: move _5, _marker: const PhantomData::<[bool; 0]> }; |
94 | 85 | + _4 = const Unique::<[bool; 0]> {{ pointer: NonNull::<[bool; 0]> {{ pointer: {0x1 as *const [bool; 0]} }}, _marker: PhantomData::<[bool; 0]> }}; |
|
98 | 89 | StorageDead(_4); |
99 | 90 | - _2 = Box::<[bool]>(_3, const std::alloc::Global); |
100 | 91 | + _2 = const Box::<[bool]>(Unique::<[bool]> {{ pointer: NonNull::<[bool]> {{ pointer: Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [bool] }}, _marker: PhantomData::<[bool]> }}, std::alloc::Global); |
101 | | - StorageDead(_9); |
| 92 | + StorageDead(_8); |
102 | 93 | StorageDead(_3); |
103 | 94 | - _1 = A { foo: move _2 }; |
104 | 95 | + _1 = const A {{ foo: Box::<[bool]>(Unique::<[bool]> {{ pointer: NonNull::<[bool]> {{ pointer: Indirect { alloc_id: ALLOC2, offset: Size(0 bytes) }: *const [bool] }}, _marker: PhantomData::<[bool]> }}, std::alloc::Global) }}; |
105 | 96 | StorageDead(_2); |
106 | 97 | _0 = const (); |
107 | 98 | drop(_1) -> [return: bb1, unwind: bb2]; |
108 | 99 | } |
| 100 | + |
| 101 | + bb5: { |
| 102 | + StorageDead(_11); |
| 103 | + StorageLive(_9); |
| 104 | +- _9 = _6 as *mut () (PtrToPtr); |
| 105 | +- _8 = NonNull::<T>::new_unchecked::precondition_check(move _9) -> [return: bb3, unwind unreachable]; |
| 106 | ++ _9 = const {0x1 as *mut ()}; |
| 107 | ++ _8 = NonNull::<T>::new_unchecked::precondition_check(const {0x1 as *mut ()}) -> [return: bb3, unwind unreachable]; |
| 108 | + } |
| 109 | + |
| 110 | + bb6: { |
| 111 | + StorageDead(_11); |
| 112 | + goto -> bb4; |
| 113 | + } |
109 | 114 | + } |
110 | 115 | + |
111 | 116 | + ALLOC2 (size: 16, align: 8) { |
|
0 commit comments