pub trait ZeroMapKV<'a> {
type Container: MutableZeroVecLike<'a, Self, SliceVariant = Self::Slice, GetType = Self::GetType, OwnedType = Self::OwnedType> + Sized;
type Slice: ZeroVecLike<Self, GetType = Self::GetType> + ?Sized;
type GetType: ?Sized + 'static;
type OwnedType: 'static;
}
Expand description
Required Associated Types§
Sourcetype Container: MutableZeroVecLike<'a, Self, SliceVariant = Self::Slice, GetType = Self::GetType, OwnedType = Self::OwnedType> + Sized
type Container: MutableZeroVecLike<'a, Self, SliceVariant = Self::Slice, GetType = Self::GetType, OwnedType = Self::OwnedType> + Sized
The container that can be used with this type: ZeroVec
or VarZeroVec
.
type Slice: ZeroVecLike<Self, GetType = Self::GetType> + ?Sized
Sourcetype GetType: ?Sized + 'static
type GetType: ?Sized + 'static
The type produced by Container::get()
This type will be predetermined by the choice of Self::Container
:
For sized types this must be T::ULE
, and for unsized types this must be T
Sourcetype OwnedType: 'static
type OwnedType: 'static
The type produced by Container::replace()
and Container::remove()
,
also used during deserialization. If Self
is human readable serialized,
deserializing to Self::OwnedType
should produce the same value once
passed through Self::owned_as_self()
This type will be predetermined by the choice of Self::Container
:
For sized types this must be T
and for unsized types this must be Box<T>
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.