pub enum FoldArg {
Leaf(usize, bool),
Build(Box<FoldBuild>),
}Expand description
One constructor-parameter input of a FoldVariant.
Variants§
Leaf(usize, bool)
Decode the flat wire leaf at this index into FoldPlan::leaves.
The bool is the passthrough marker for selector-dispatched arms:
false = the leaf is Option-wrapped by selector presence and is
unwrapped before the constructor call (a missing input is an error);
true = the constructor argument is itself an Option<…>, so the leaf
keeps the argument’s own type and passes through unwrapped (None is a
legitimate value for the taken arm — arm-taken-ness is decided by the
selector alone). Always false outside dispatched arms.
Build(Box<FoldBuild>)
Build this parameter by recursively folding its own default
constructor (the parameter’s type is itself a ptr_class with a default
input). Its leaves live in the shared flat FoldPlan::leaves.
Trait Implementations§
Auto Trait Implementations§
impl !Send for FoldArg
impl !Sync for FoldArg
impl Freeze for FoldArg
impl RefUnwindSafe for FoldArg
impl Unpin for FoldArg
impl UnsafeUnpin for FoldArg
impl UnwindSafe for FoldArg
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
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> ⓘ
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> ⓘ
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