Trait CloneFromCell
pub unsafe trait CloneFromCell: Clone
Types for which cloning Cell<Self> is sound.
Safety
Implementing this trait for a type is sound if and only if the following code is sound for T = that type.
# use ;
Importantly, you can't just implement CloneFromCell for any arbitrary Copy type, e.g. the
following is unsound:
# use Cell;
;
// this is not sound
// unsafe impl CloneFromCell for Bad<'_> {}
Implementors
impl<A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (A, Z, Y, X, W, V, U, T)impl<B: CloneFromCell, A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (B, A, Z, Y, X, W, V, U, T)impl<C: CloneFromCell, B: CloneFromCell, A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (C, B, A, Z, Y, X, W, V, U, T)impl<D: CloneFromCell, C: CloneFromCell, B: CloneFromCell, A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (D, C, B, A, Z, Y, X, W, V, U, T)impl<E: CloneFromCell, D: CloneFromCell, C: CloneFromCell, B: CloneFromCell, A: CloneFromCell, Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (E, D, C, B, A, Z, Y, X, W, V, U, T)impl<T: ?Sized> CloneFromCell for PhantomData<T>impl<T: CloneFromCell> CloneFromCell for (T,)impl<T: CloneFromCell> CloneFromCell for ManuallyDrop<T>impl<T: CloneFromCell> CloneFromCell for Option<T>impl<T: CloneFromCell> CloneFromCell for Range<T>impl<T: CloneFromCell> CloneFromCell for Range<T>impl<T: CloneFromCell, E: CloneFromCell> CloneFromCell for Result<T, E>impl<T: CloneFromCell, const N: usize> CloneFromCell for [T; N]impl<U: CloneFromCell, T: CloneFromCell> CloneFromCell for (U, T)impl<V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (V, U, T)impl<W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (W, V, U, T)impl<X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (X, W, V, U, T)impl<Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (Y, X, W, V, U, T)impl<Z: CloneFromCell, Y: CloneFromCell, X: CloneFromCell, W: CloneFromCell, V: CloneFromCell, U: CloneFromCell, T: CloneFromCell> CloneFromCell for (Z, Y, X, W, V, U, T)