Trait moveit::new::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.

Implementations on Foreign Types§

source§

impl MoveNew for u128

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 AtomicU32

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 MoveNew for AtomicU16

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 i16

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 MoveNew for NonZeroU128

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: ?Sized> MoveNew for *mut T

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 AtomicI8

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<T> MoveNew for Discriminant<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 Cell<T>

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<T: ?Sized> MoveNew for &T

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 AtomicI32

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<T> MoveNew for VecDeque<T>

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 u16

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 UnsafeCell<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 MoveNew for NonZeroU32

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: ?Sized> MoveNew for &mut T

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<T: ?Sized> MoveNew for PhantomData<T>

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 ()

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 NonZeroU16

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 RefCell<T>

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 bool

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 MoveNew for String

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 u64

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 MoveNew for AtomicI64

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 Pin<T>

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<T> MoveNew for MaybeUninit<T>

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<T> MoveNew for Wrapping<T>

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 i32

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 NonZeroU64

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<T> MoveNew for Weak<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 MoveNew for AtomicU64

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 RefMut<'_, T>

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 MoveNew for AtomicIsize

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 Layout

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 AtomicI16

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> MoveNew for Vec<T>

source§

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

Implementors§