pub struct RefToken<T: ?Sized>(/* private fields */);
Expand description
Abstraction of a reference as a token.
The reference should point to a pinned object, otherwise moving the object will “invalidate” the cells initialized with the previous reference.
Implementations§
Source§impl<T: ?Sized> RefToken<T>
impl<T: ?Sized> RefToken<T>
Sourcepub fn from_ref(t: &T) -> &Selfwhere
T: Unpin,
pub fn from_ref(t: &T) -> &Selfwhere
T: Unpin,
Convert an immutable reference into an immutable RefToken
reference.
Sourcepub fn from_mut(t: &mut T) -> &mut Selfwhere
T: Unpin,
pub fn from_mut(t: &mut T) -> &mut Selfwhere
T: Unpin,
Convert a mutable reference into a mutable RefToken
reference.
Sourcepub fn from_pin(t: Pin<&T>) -> &Self
pub fn from_pin(t: Pin<&T>) -> &Self
Convert a pinned immutable reference into an immutable RefToken
reference.
Sourcepub fn from_pin_mut(t: Pin<&mut T>) -> &mut Self
pub fn from_pin_mut(t: Pin<&mut T>) -> &mut Self
Convert a pinned mutable reference into a mutable RefToken
reference.
Sourcepub fn as_pin_mut(&mut self) -> Pin<&mut T>
pub fn as_pin_mut(&mut self) -> Pin<&mut T>
Get a pinned mutable reference.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for RefToken<T>
impl<T> RefUnwindSafe for RefToken<T>where
T: RefUnwindSafe + ?Sized,
impl<T> Send for RefToken<T>
impl<T> Sync for RefToken<T>
impl<T> Unpin for RefToken<T>
impl<T> UnwindSafe for RefToken<T>where
T: UnwindSafe + ?Sized,
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