别针<&mut MaybeUninit<T>> 插入别针<&mut T>

问题描述 投票:0回答:1

假设

Pin<&mut T>
已初始化,如何从
Pin<&mut MaybeUninit<T>>
安全地获取
MaybeUninit<T>

rust unsafe
1个回答
0
投票

通过

Pin::map_unchecked_mut
应该是安全的:

let pin_uninit_t: Pin<&mut MaybeUninit<T>> = ...;
let pin_t: Pin<&mut T> = unsafe { pin_uninit_t.map_unchecked_mut(|m| m.assume_init_mut()) };
© www.soinside.com 2019 - 2024. All rights reserved.