|
16 | 16 | scope 4 (inlined Unique::<[bool; 0]>::dangling) {
|
17 | 17 | let mut _5: std::ptr::NonNull<[bool; 0]>;
|
18 | 18 | scope 5 (inlined NonNull::<[bool; 0]>::dangling) {
|
19 |
| - let _6: *mut [bool; 0]; |
| 19 | + let mut _6: std::num::NonZero<usize>; |
20 | 20 | scope 6 {
|
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]; |
26 |
| - scope 11 (inlined core::ub_checks::check_language_ub) { |
27 |
| - scope 12 (inlined core::ub_checks::check_language_ub::runtime) { |
| 21 | + scope 8 (inlined std::ptr::Alignment::as_nonzero) { |
| 22 | + } |
| 23 | + scope 9 (inlined NonNull::<[bool; 0]>::without_provenance) { |
| 24 | + let _7: *const [bool; 0]; |
| 25 | + scope 10 { |
| 26 | + } |
| 27 | + scope 11 (inlined NonZero::<usize>::get) { |
| 28 | + } |
| 29 | + scope 12 (inlined without_provenance::<[bool; 0]>) { |
| 30 | + scope 13 (inlined without_provenance_mut::<[bool; 0]>) { |
28 | 31 | }
|
29 | 32 | }
|
30 | 33 | }
|
31 | 34 | }
|
32 |
| - scope 7 (inlined dangling_mut::<[bool; 0]>) { |
33 |
| - let mut _7: usize; |
34 |
| - scope 8 (inlined align_of::<[bool; 0]>) { |
35 |
| - } |
36 |
| - scope 9 (inlined without_provenance_mut::<[bool; 0]>) { |
37 |
| - } |
| 35 | + scope 7 (inlined std::ptr::Alignment::of::<[bool; 0]>) { |
38 | 36 | }
|
39 | 37 | }
|
40 | 38 | }
|
|
44 | 42 | StorageLive(_1);
|
45 | 43 | StorageLive(_2);
|
46 | 44 | StorageLive(_3);
|
47 |
| - StorageLive(_9); |
48 | 45 | StorageLive(_4);
|
49 | 46 | StorageLive(_5);
|
50 | 47 | StorageLive(_6);
|
| 48 | + _6 = const NonZero::<usize>(core::num::niche_types::NonZeroUsizeInner(1_usize)); |
51 | 49 | StorageLive(_7);
|
52 |
| - _7 = const 1_usize; |
53 |
| - _6 = const {0x1 as *mut [bool; 0]}; |
54 |
| - StorageLive(_11); |
55 |
| - StorageLive(_8); |
56 |
| - _8 = UbChecks(); |
57 |
| - switchInt(move _8) -> [0: bb4, otherwise: bb2]; |
58 |
| - } |
59 |
| - |
60 |
| - bb1: { |
61 |
| - StorageDead(_1); |
62 |
| - return; |
63 |
| - } |
64 |
| - |
65 |
| - bb2: { |
66 |
| - StorageLive(_10); |
67 |
| - _10 = const {0x1 as *mut ()}; |
68 |
| - _9 = NonNull::<T>::new_unchecked::precondition_check(const {0x1 as *mut ()}) -> [return: bb3, unwind unreachable]; |
69 |
| - } |
70 |
| - |
71 |
| - bb3: { |
72 |
| - StorageDead(_10); |
73 |
| - goto -> bb4; |
74 |
| - } |
75 |
| - |
76 |
| - bb4: { |
77 |
| - StorageDead(_8); |
78 |
| - _11 = const {0x1 as *const [bool; 0]}; |
| 50 | + _7 = const {0x1 as *const [bool; 0]}; |
79 | 51 | _5 = const NonNull::<[bool; 0]> {{ pointer: {0x1 as *const [bool; 0]} }};
|
80 |
| - StorageDead(_11); |
81 | 52 | StorageDead(_7);
|
82 | 53 | StorageDead(_6);
|
83 | 54 | _4 = const Unique::<[bool; 0]> {{ pointer: NonNull::<[bool; 0]> {{ pointer: {0x1 as *const [bool; 0]} }}, _marker: PhantomData::<[bool; 0]> }};
|
84 | 55 | StorageDead(_5);
|
85 | 56 | _3 = const Unique::<[bool]> {{ pointer: NonNull::<[bool]> {{ pointer: Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [bool] }}, _marker: PhantomData::<[bool]> }};
|
86 | 57 | StorageDead(_4);
|
87 | 58 | _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);
|
88 |
| - StorageDead(_9); |
89 | 59 | StorageDead(_3);
|
90 | 60 | _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) }};
|
91 | 61 | StorageDead(_2);
|
92 | 62 | _0 = const ();
|
93 | 63 | drop(_1) -> [return: bb1, unwind unreachable];
|
94 | 64 | }
|
| 65 | + |
| 66 | + bb1: { |
| 67 | + StorageDead(_1); |
| 68 | + return; |
| 69 | + } |
95 | 70 | }
|
96 | 71 |
|
97 | 72 | ALLOC2 (size: 8, align: 4) { .. }
|
|
0 commit comments