#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::mem::ManuallyDrop; use std::pin::Pin; struct Type; fn main() { let mut pin: Pin>> = Box::pin(ManuallyDrop::new(Type)); let inner: Pin<&mut Type> = unsafe { Pin::map_unchecked_mut(pin.as_mut(), |x| &mut **x) }; }