pub trait FormerDefinition: Sized {
type Types: FormerDefinitionTypes<Storage = Self::Storage, Formed = Self::Formed, Context = Self::Context> + FormerMutator;
type End: FormingEnd<Self::Types>;
type Storage: Default;
type Formed;
type Context;
}Expand description
Expands on FormerDefinitionTypes by incorporating an ending mechanism for the formation process.
This trait connects the formation types with a specific endpoint, defining
how the formation process concludes, including any necessary transformations
or validations.
Required Associated Types§
Sourcetype Types: FormerDefinitionTypes<Storage = Self::Storage, Formed = Self::Formed, Context = Self::Context> + FormerMutator
type Types: FormerDefinitionTypes<Storage = Self::Storage, Formed = Self::Formed, Context = Self::Context> + FormerMutator
Encapsulates the types related to the formation process including any mutators.
Sourcetype End: FormingEnd<Self::Types>
type End: FormingEnd<Self::Types>
Defines the ending condition or operation of the formation process.
Sourcetype Formed
type Formed
The type of the entity being formed. It is
generally the structure for which the Former is derived, representing the fully formed
state of the entity. However, it can differ if a custom FormingEnd or a different Formed type
is defined to handle specific forming logic or requirements.
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.