diff options
| author | George Bateman <george.bateman16@gmail.com> | 2023-11-18 10:50:47 +0000 |
|---|---|---|
| committer | George Bateman <george.bateman16@gmail.com> | 2023-11-18 10:50:47 +0000 |
| commit | 58ea02e872f101717d9e2e3dfb308b4897c9c904 (patch) | |
| tree | 8e1da8906a0c1ae76a91415ca2ed63dc30d86f29 | |
| parent | 661df4fd5572669e930ec40291e3b2ac17b63553 (diff) | |
| download | rust-58ea02e872f101717d9e2e3dfb308b4897c9c904.tar.gz rust-58ea02e872f101717d9e2e3dfb308b4897c9c904.zip | |
Update based on petrochenkov's review
| -rw-r--r-- | library/core/src/iter/adapters/filter_map.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/library/core/src/iter/adapters/filter_map.rs b/library/core/src/iter/adapters/filter_map.rs index fbff53e43bb..32308c84d71 100644 --- a/library/core/src/iter/adapters/filter_map.rs +++ b/library/core/src/iter/adapters/filter_map.rs @@ -97,10 +97,11 @@ where // SAFETY: Loop conditions ensure the index is in bounds. unsafe { - let opt_payload_at = - (&val as *const Option<B>).byte_add(core::mem::offset_of!(Option<B>, Some.0)); + let opt_payload_at: *const MaybeUninit<B> = (&val as *const Option<B>) + .byte_add(core::mem::offset_of!(Option<B>, Some.0)) + .cast(); let dst = guard.array.as_mut_ptr().add(idx); - crate::ptr::copy_nonoverlapping(opt_payload_at.cast(), dst, 1); + crate::ptr::copy_nonoverlapping(opt_payload_at, dst, 1); crate::mem::forget(val); }; |
