moveit::new

Trait MoveNew

Source
pub unsafe trait MoveNew: Sized {
    // Required method
    unsafe fn move_new(
        src: Pin<MoveRef<'_, Self>>,
        this: Pin<&mut MaybeUninit<Self>>,
    );
}
Expand description

A move constructible type: a destination-aware Clone that destroys the moved-from value.

§Safety

After MoveNew::move_new() is called:

  • src should be treated as having been destroyed.
  • this must have been initialized.

Required Methods§

Source

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Move-construct src into this, effectively re-pinning it at a new location.

§Safety

The same safety requirements of New::new() apply, but, in addition, *src must not be used after this function is called, because it has effectively been destroyed.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl MoveNew for bool

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for char

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for i8

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for i16

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for i32

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for i64

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for i128

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for isize

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for u8

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for u16

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for u32

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for u64

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for u128

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for ()

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for usize

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for String

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for Layout

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for PhantomPinned

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicI8

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicI16

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicI32

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicI64

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicIsize

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicU8

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicU16

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicU32

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicU64

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for AtomicUsize

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for Duration

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroI8

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroI16

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroI32

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroI64

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroI128

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroIsize

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroU8

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroU16

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroU32

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroU64

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroU128

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl MoveNew for NonZeroUsize

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<K, V> MoveNew for BTreeMap<K, V>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Option<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Box<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for BinaryHeap<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for BTreeSet<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for LinkedList<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for VecDeque<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Rc<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Weak<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Arc<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Weak<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Vec<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Cell<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Ref<'_, T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for RefCell<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for RefMut<'_, T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for UnsafeCell<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for ManuallyDrop<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Discriminant<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Wrapping<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for Pin<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for NonNull<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for AtomicPtr<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T> MoveNew for MaybeUninit<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T, E> MoveNew for Result<T, E>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T: ?Sized> MoveNew for *const T

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T: ?Sized> MoveNew for *mut T

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T: ?Sized> MoveNew for &T

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T: ?Sized> MoveNew for &mut T

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Source§

impl<T: ?Sized> MoveNew for PhantomData<T>

Source§

unsafe fn move_new( src: Pin<MoveRef<'_, Self>>, this: Pin<&mut MaybeUninit<Self>>, )

Implementors§