Struct std::boxed::PinBox
[−]
[src]
pub struct PinBox<T> where
T: ?Sized, { /* fields omitted */ }A pinned, heap allocated reference.
Methods
impl<T> PinBox<T>[src]
pub fn new(data: T) -> PinBox<T>[src]
Allocate memory on the heap, move the data into it and pin it.
impl<T> PinBox<T> where
T: ?Sized, [src]
T: ?Sized,
pub fn as_pin(&'a mut self) -> Pin<'a, T>[src]
Get a pinned reference to the data in this PinBox.
ⓘImportant traits for &'a mut Ipub unsafe fn get_mut(this: &'a mut PinBox<T>) -> &'a mut T[src]
ⓘImportant traits for &'a mut I
Get a mutable reference to the data inside this PinBox.
This function is unsafe. Users must guarantee that the data is never moved out of this reference.
ⓘImportant traits for Box<I>pub unsafe fn unpin(this: PinBox<T>) -> Box<T>[src]
ⓘImportant traits for Box<I>
Convert this PinBox into an unpinned Box.
This function is unsafe. Users must guarantee that the data is never moved out of the box.
Trait Implementations
impl<T> Pointer for PinBox<T> where
T: ?Sized, [src]
T: ?Sized,
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter.
impl<T> DerefMut for PinBox<T> where
T: Unpin + ?Sized, [src]
T: Unpin + ?Sized,
ⓘImportant traits for &'a mut Ifn deref_mut(&mut self) -> &mut T[src]
ⓘImportant traits for &'a mut I
Mutably dereferences the value.
impl<T> From<PinBox<T>> for Box<T> where
T: Unpin + ?Sized, [src]
T: Unpin + ?Sized,
impl<T> From<Box<T>> for PinBox<T> where
T: ?Sized, [src]
T: ?Sized,
impl<T, U> CoerceUnsized<PinBox<U>> for PinBox<T> where
T: Unsize<U> + ?Sized,
U: ?Sized, [src]
T: Unsize<U> + ?Sized,
U: ?Sized,
impl<T> Display for PinBox<T> where
T: Display + ?Sized, [src]
T: Display + ?Sized,
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter. Read more
impl<T> Deref for PinBox<T> where
T: ?Sized, [src]
T: ?Sized,
type Target = T
The resulting type after dereferencing.
ⓘImportant traits for &'a mut Ifn deref(&self) -> &T[src]
ⓘImportant traits for &'a mut I
Dereferences the value.
impl<T> Debug for PinBox<T> where
T: Debug + ?Sized, [src]
T: Debug + ?Sized,