moveit::new

Trait 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.

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 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§