Trait ZeroMapKV

trait ZeroMapKV<'a>

Trait marking types which are allowed to be keys or values in ZeroMap.

Users should not be calling methods of this trait directly, however if you are implementing your own AsULE or VarULE type you may wish to implement this trait.

Associated Types

type Container: TraitBound { trait_: Path { path: "MutableZeroVecLike", id: Id(188), args: Some(AngleBracketed { args: [Lifetime("'a"), Type(Generic("Self"))], constraints: [AssocItemConstraint { name: "SliceVariant", args: None, binding: Equality(Type(QualifiedPath { name: "Slice", args: None, self_type: Generic("Self"), trait_: Some(Path { path: "", id: Id(125), args: None }) })) }, AssocItemConstraint { name: "GetType", args: None, binding: Equality(Type(QualifiedPath { name: "GetType", args: None, self_type: Generic("Self"), trait_: Some(Path { path: "", id: Id(125), args: None }) })) }, AssocItemConstraint { name: "OwnedType", args: None, binding: Equality(Type(QualifiedPath { name: "OwnedType", args: None, self_type: Generic("Self"), trait_: Some(Path { path: "", id: Id(125), args: None }) })) }] }) }, generic_params: [], modifier: None } + TraitBound { trait_: Path { path: "Sized", id: Id(6), args: None }, generic_params: [], modifier: None }

The container that can be used with this type: ZeroVec or VarZeroVec.

type Slice: TraitBound { trait_: Path { path: "ZeroVecLike", id: Id(190), args: Some(AngleBracketed { args: [Type(Generic("Self"))], constraints: [AssocItemConstraint { name: "GetType", args: None, binding: Equality(Type(QualifiedPath { name: "GetType", args: None, self_type: Generic("Self"), trait_: Some(Path { path: "", id: Id(125), args: None }) })) }] }) }, generic_params: [], modifier: None } + TraitBound { trait_: Path { path: "Sized", id: Id(6), args: None }, generic_params: [], modifier: Maybe }
type GetType: TraitBound { trait_: Path { path: "Sized", id: Id(6), args: None }, generic_params: [], modifier: Maybe } + Outlives("'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

type OwnedType: Outlives("'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>

Implementors