Struct Move

Source
pub struct Move<T: ?Sized> { /* private fields */ }
Expand description

A type that allows an unsized value to be moved

Implementations§

Source§

impl<T> Move<T>

Source

pub fn new(val: T) -> Self

Source§

impl<T: ?Sized> Move<T>

Source

pub fn get_ref(&self) -> Option<&T>

Get a reference to the contained value and mark it as moved if it has not yet been moved, otherwise return None. If the caller does not move the value out (through copying in unsafe code), then the value will leak (like mem::forget). However leaking memory is safe, so this interface doesn’t need to be marked unsafe.

Trait Implementations§

Source§

impl<T: ?Sized> Drop for Move<T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for Move<T>

§

impl<T> !RefUnwindSafe for Move<T>

§

impl<T> Send for Move<T>
where T: Send + ?Sized,

§

impl<T> !Sync for Move<T>

§

impl<T> Unpin for Move<T>
where T: Unpin + ?Sized,

§

impl<T> UnwindSafe for Move<T>
where T: UnwindSafe + ?Sized,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.