pub struct Deconstructors {
pub deconstructors: Vec<DeconstructorDecl>,
pub outputs: Vec<OutputDecl>,
pub skip_output: HashSet<Ident>,
}Expand description
Deconstructor / output-expansion declarations gathered from a language
builder — an immutable record set: complete values, no build protocol.
Declaration order is the vector order; leaf order is each record
vector’s order. Handed to the registry as
Decompositions::deconstructors;
empty or duplicate declarations are diagnosed at resolution (collected),
not at construction.
Fields§
§deconstructors: Vec<DeconstructorDecl>§outputs: Vec<OutputDecl>§skip_output: HashSet<Ident>Identity-only per-fn field-set opt-outs: fns excluded from the default auto-apply (the raw whole-value return).
Trait Implementations§
Source§impl Clone for Deconstructors
impl Clone for Deconstructors
Source§fn clone(&self) -> Deconstructors
fn clone(&self) -> Deconstructors
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for Deconstructors
impl Default for Deconstructors
Source§fn default() -> Deconstructors
fn default() -> Deconstructors
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Send for Deconstructors
impl !Sync for Deconstructors
impl Freeze for Deconstructors
impl RefUnwindSafe for Deconstructors
impl Unpin for Deconstructors
impl UnsafeUnpin for Deconstructors
impl UnwindSafe for Deconstructors
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more