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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more