pub(crate) struct PhantomDrop<T>(PhantomData<T>);Expand description
A cute utility type that works just like PhantomData, but also
implements Drop. This forces any lifetimes that are associated
with the type to be used until the Drop impl is ran. This prevents
lifetimes from being shortened.
Tuple Fields§
§0: PhantomData<T>Trait Implementations§
Source§impl<T: Debug> Debug for PhantomDrop<T>
impl<T: Debug> Debug for PhantomDrop<T>
Source§impl<T> Default for PhantomDrop<T>
impl<T> Default for PhantomDrop<T>
Auto Trait Implementations§
impl<T> Freeze for PhantomDrop<T>
impl<T> RefUnwindSafe for PhantomDrop<T>where
T: RefUnwindSafe,
impl<T> Send for PhantomDrop<T>where
T: Send,
impl<T> Sync for PhantomDrop<T>where
T: Sync,
impl<T> Unpin for PhantomDrop<T>where
T: Unpin,
impl<T> UnwindSafe for PhantomDrop<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more