@@ -8,33 +8,36 @@ fn generic_in_place(_1: *mut Box<[T]>) -> () {
88 let _2 : std::ptr::NonNull<[T]>;
99 let mut _3 : *mut [T];
1010 let mut _4 : *const [T];
11+ let mut _6 : usize;
1112 let _9 : ();
1213 scope 3 {
14+ let _5 : std::alloc::Layout;
1315 scope 4 {
14- scope 17 (inlined Layout::size) {
16+ scope 8 (inlined Layout::size) {
1517 }
16- scope 18 (inlined std::ptr::Unique::<[T]>::cast::<u8>) {
17- scope 19 (inlined NonNull::<[T]>::cast::<u8>) {
18- scope 20 (inlined NonNull::<[T]>::as_ptr) {
18+ scope 9 (inlined std::ptr::Unique::<[T]>::cast::<u8>) {
19+ scope 10 (inlined NonNull::<[T]>::cast::<u8>) {
20+ scope 11 (inlined NonNull::<[T]>::as_ptr) {
1921 }
2022 }
2123 }
22- scope 21 (inlined <NonNull<u8> as From<std::ptr::Unique<u8>>>::from) {
23- scope 22 (inlined std::ptr::Unique::<u8>::as_non_null_ptr) {
24+ scope 12 (inlined <NonNull<u8> as From<std::ptr::Unique<u8>>>::from) {
25+ scope 13 (inlined std::ptr::Unique::<u8>::as_non_null_ptr) {
2426 }
2527 }
26- scope 23 (inlined <std::alloc::Global as Allocator>::deallocate) {
27- scope 24 (inlined std::alloc::Global::deallocate_impl) {
28- scope 25 (inlined std::alloc::Global::deallocate_impl_runtime) {
29- let mut _8 : *mut u8;
30- scope 26 (inlined Layout::size) {
28+ scope 14 (inlined <std::alloc::Global as Allocator>::deallocate) {
29+ scope 15 (inlined std::alloc::Global::deallocate_impl) {
30+ scope 16 (inlined std::alloc::Global::deallocate_impl_runtime) {
31+ let mut _7 : *mut u8;
32+ scope 17 (inlined Layout::size) {
3133 }
32- scope 27 (inlined NonNull::<u8>::as_ptr) {
34+ scope 18 (inlined NonNull::<u8>::as_ptr) {
3335 }
34- scope 28 (inlined std::alloc::dealloc) {
35- scope 29 (inlined Layout::size) {
36+ scope 19 (inlined std::alloc::dealloc) {
37+ let mut _8 : std::ptr::Alignment;
38+ scope 20 (inlined Layout::size) {
3639 }
37- scope 30 (inlined Layout::alignment) {
40+ scope 21 (inlined Layout::alignment) {
3841 }
3942 }
4043 }
@@ -46,63 +49,44 @@ fn generic_in_place(_1: *mut Box<[T]>) -> () {
4649 }
4750 }
4851 scope 7 (inlined Layout::for_value_raw::<[T]>) {
49- let mut _5 : usize;
50- let mut _7 : std::ptr::Alignment;
51- scope 8 {
52- scope 16 (inlined # [track_caller] Layout::from_size_alignment_unchecked) {
53- }
54- }
55- scope 9 (inlined size_of_val_raw::<[T]>) {
56- }
57- scope 10 (inlined std::ptr::Alignment::of_val_raw::<[T]>) {
58- let _6 : usize;
59- scope 11 {
60- scope 13 (inlined # [track_caller] std::ptr::Alignment::new_unchecked) {
61- scope 14 (inlined core::ub_checks::check_language_ub) {
62- scope 15 (inlined core::ub_checks::check_language_ub::runtime) {
63- }
64- }
65- }
66- }
67- scope 12 (inlined align_of_val_raw::<[T]>) {
68- }
69- }
7052 }
7153 }
7254 }
7355 }
7456
7557 bb0 : {
58+ StorageLive(_5);
7659 StorageLive(_2);
7760 _2 = copy (((*_1).0 : std::ptr::Unique<[T]>).0: std::ptr::NonNull<[T]>);
7861 StorageLive(_4);
7962 _3 = copy _2 as *mut [T] (Transmute);
8063 _4 = copy _2 as *const [T] (Transmute);
81- _5 = std::intrinsics::size_of_val ::<[T]>(move _4) -> [return : bb1, unwind unreachable];
64+ _5 = layout_of_val ::<[T]>(move _4) -> [return : bb1, unwind unreachable];
8265 }
8366
8467 bb1 : {
85- StorageLive(_6);
86- _6 = const <T as std::mem::SizedTypeProperties>::ALIGN;
87- _7 = copy _6 as std::ptr::Alignment (Transmute);
88- StorageDead(_6);
8968 StorageDead(_4);
90- switchInt(copy _5) -> [0 : bb4, otherwise: bb2];
69+ _6 = copy (_5.0 : usize);
70+ switchInt(copy _6) -> [0 : bb4, otherwise: bb2];
9171 }
9272
9373 bb2 : {
74+ StorageLive(_7);
75+ _7 = copy _3 as *mut u8 (PtrToPtr);
9476 StorageLive(_8);
95- _8 = copy _3 as *mut u8 (PtrToPtr );
96- _9 = alloc::alloc::__rust_dealloc(move _8 , move _5 , move _7 ) -> [return : bb3, unwind unreachable];
77+ _8 = copy (_5.1 : std::ptr::Alignment );
78+ _9 = alloc::alloc::__rust_dealloc(move _7 , move _6 , move _8 ) -> [return : bb3, unwind unreachable];
9779 }
9880
9981 bb3 : {
10082 StorageDead(_8);
83+ StorageDead(_7);
10184 goto -> bb4;
10285 }
10386
10487 bb4 : {
10588 StorageDead(_2);
89+ StorageDead(_5);
10690 return;
10791 }
10892}
0 commit comments