Trait moveit::new::CopyNew

source ·
pub unsafe trait CopyNew: Sized {
    // Required method
    unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>);
}
Expand description

A copy constructible type: a destination-aware Clone.

§Safety

After CopyNew::copy_new() is called:

  • this must have been initialized.

Required Methods§

source

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

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

§Safety

The same safety requirements of New::new() apply.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl CopyNew for bool
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for char
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for i8
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for i16
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for i32
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for i64
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for i128
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for isize
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for u8
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for u16
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for u32
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for u64
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for u128
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for ()
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for usize
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for String
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for Layout
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for PhantomPinned
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for Duration
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroI8
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroI16
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroI32
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroI64
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroI128
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroIsize
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroU8
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroU16
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroU32
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroU64
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroU128
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl CopyNew for NonZeroUsize
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<K, V> CopyNew for BTreeMap<K, V>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Option<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Box<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for BinaryHeap<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for BTreeSet<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for LinkedList<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for VecDeque<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Rc<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Weak<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Arc<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Weak<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Vec<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Cell<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Ref<'_, T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for RefCell<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for RefMut<'_, T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for UnsafeCell<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for ManuallyDrop<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Discriminant<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Wrapping<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for Pin<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for NonNull<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T> CopyNew for MaybeUninit<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T, E> CopyNew for Result<T, E>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T: ?Sized> CopyNew for *const T
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T: ?Sized> CopyNew for *mut T
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T: ?Sized> CopyNew for &T
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

source§

impl<T: ?Sized> CopyNew for PhantomData<T>
where Self: Clone,

source§

unsafe fn copy_new(src: &Self, this: Pin<&mut MaybeUninit<Self>>)

Implementors§