Trait StoreCopy

Source
pub unsafe auto trait StoreCopy { }
Expand description

The type may move between objects without side effects. Notably, this is not implemented for invariant pointers or types that contain them, since an invariant pointer may reference an object’s Foreign Object Table. This is a little restrictive (technically intra-object pointers are safe to move intra-object), but it’s the best we can do at compile-time.

§Safety

The implementation must ensure that no store side effects must occur when writing this value to object memory.

Implementors§

Auto implementors§

§

impl StoreCopy for ArgumentError

§

impl StoreCopy for ErrorCategory

§

impl StoreCopy for GenericError

§

impl StoreCopy for IoError

§

impl StoreCopy for NamingError

§

impl StoreCopy for ObjectError

§

impl StoreCopy for ResourceError

§

impl StoreCopy for SecurityError

§

impl StoreCopy for TwzError

§

impl StoreCopy for ArenaAllocator

§

impl StoreCopy for ArenaBase

§

impl StoreCopy for ArenaObject

§

impl StoreCopy for VecObjectAlloc

§

impl StoreCopy for RawTwzError

§

impl StoreCopy for FotEntry

§

impl StoreCopy for FotFlags

§

impl StoreCopy for FotResolve

§

impl StoreCopy for MapFlags

§

impl StoreCopy for MetaExt

§

impl StoreCopy for MetaExtTag

§

impl StoreCopy for MetaFlags

§

impl StoreCopy for MetaInfo

§

impl StoreCopy for ObjID

§

impl StoreCopy for ObjectHandle

§

impl StoreCopy for ResolveRequest

§

impl<'a, T> StoreCopy for VecIter<'a, T>
where T: StoreCopy,

§

impl<'a, T> StoreCopy for RefSlice<'a, T>
where T: StoreCopy,

§

impl<'a, T> StoreCopy for RefSliceMut<'a, T>
where T: StoreCopy,

§

impl<'obj, T> StoreCopy for Ref<'obj, T>
where T: StoreCopy,

§

impl<'obj, T> StoreCopy for RefMut<'obj, T>
where T: StoreCopy,

§

impl<Base> StoreCopy for MutObject<Base>
where Base: StoreCopy,

§

impl<Base> StoreCopy for Object<Base>
where Base: StoreCopy,

§

impl<Base> StoreCopy for ObjectBuilder<Base>
where Base: StoreCopy,

§

impl<T> !StoreCopy for VecInner<T>

§

impl<T> !StoreCopy for InvPtr<T>

§

impl<T> StoreCopy for TxObject<T>
where T: StoreCopy,

§

impl<T> StoreCopy for GlobalPtr<T>
where T: StoreCopy,

§

impl<T> StoreCopy for TxRef<T>
where T: StoreCopy,

§

impl<T> StoreCopy for TxRefSlice<T>
where T: StoreCopy,

§

impl<T, A> !StoreCopy for ListNode<T, A>

§

impl<T, A> !StoreCopy for VecObject<T, A>

§

impl<T, A> StoreCopy for OwnedGlobalPtr<T, A>
where A: StoreCopy, T: StoreCopy,

§

impl<T, Alloc> !StoreCopy for InvBox<T, Alloc>

§

impl<T, Alloc> !StoreCopy for Vec<T, Alloc>