Struct nom::lib::std::boxed::PinBox [−][src]
pub struct PinBox<T> where
T: ?Sized, { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (
pin
)A pinned, heap allocated reference.
Methods
impl<T> PinBox<T>
[src]
impl<T> PinBox<T>
pub fn new(data: T) -> PinBox<T>
[src]
pub fn new(data: T) -> PinBox<T>
🔬 This is a nightly-only experimental API. (
pin
)Allocate memory on the heap, move the data into it and pin it.
impl<T> PinBox<T> where
T: ?Sized,
[src]
impl<T> PinBox<T> where
T: ?Sized,
pub fn as_pin(&'a mut self) -> Pin<'a, T>
[src]
pub fn as_pin(&'a mut self) -> Pin<'a, T>
🔬 This is a nightly-only experimental API. (
pin
)Get a pinned reference to the data in this PinBox.
ⓘImportant traits for &'a mut Rpub unsafe fn get_mut(this: &'a mut PinBox<T>) -> &'a mut T
[src]
ⓘImportant traits for &'a mut R
pub unsafe fn get_mut(this: &'a mut PinBox<T>) -> &'a mut T
🔬 This is a nightly-only experimental API. (
pin
)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<R>pub unsafe fn unpin(this: PinBox<T>) -> Box<T>
[src]
ⓘImportant traits for Box<R>
pub unsafe fn unpin(this: PinBox<T>) -> Box<T>
🔬 This is a nightly-only experimental API. (
pin
)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> Debug for PinBox<T> where
T: Debug + ?Sized,
[src]
impl<T> Debug for PinBox<T> where
T: Debug + ?Sized,
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<T> Pointer for PinBox<T> where
T: ?Sized,
[src]
impl<T> Pointer for PinBox<T> where
T: ?Sized,
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl<T> From<PinBox<T>> for Box<T> where
T: Unpin + ?Sized,
[src]
impl<T> From<PinBox<T>> for Box<T> where
T: Unpin + ?Sized,
impl<T> From<Box<T>> for PinBox<T> where
T: ?Sized,
[src]
impl<T> From<Box<T>> for PinBox<T> where
T: ?Sized,
impl<T> DerefMut for PinBox<T> where
T: Unpin + ?Sized,
[src]
impl<T> DerefMut for PinBox<T> where
T: Unpin + ?Sized,
ⓘImportant traits for &'a mut Rfn deref_mut(&mut self) -> &mut T
[src]
ⓘImportant traits for &'a mut R
fn deref_mut(&mut self) -> &mut T
Mutably dereferences the value.
impl<T, U> CoerceUnsized<PinBox<U>> for PinBox<T> where
T: Unsize<U> + ?Sized,
U: ?Sized,
[src]
impl<T, U> CoerceUnsized<PinBox<U>> for PinBox<T> where
T: Unsize<U> + ?Sized,
U: ?Sized,
impl<T> Unpin for PinBox<T> where
T: ?Sized,
[src]
impl<T> Unpin for PinBox<T> where
T: ?Sized,
impl<T> Deref for PinBox<T> where
T: ?Sized,
[src]
impl<T> Deref for PinBox<T> where
T: ?Sized,
type Target = T
The resulting type after dereferencing.
ⓘImportant traits for &'a mut Rfn deref(&self) -> &T
[src]
ⓘImportant traits for &'a mut R
fn deref(&self) -> &T
Dereferences the value.
impl<T> Display for PinBox<T> where
T: Display + ?Sized,
[src]
impl<T> Display for PinBox<T> where
T: Display + ?Sized,