pub struct ConstructorDecl {
pub target: TypeKey,
pub variants: Vec<Variant>,
pub default: bool,
}Expand description
A type-level constructor declaration (expand_param!(T).variant*): the
complete, ordered variant list for building target from flattened
leaves. An immutable record — the variant order is the declaration order
of the variants vector.
Fields§
§target: TypeKeyThe type being built, as an identity. Every use keyed it; none spelled it.
variants: Vec<Variant>§default: boolAuto-construct every matching param of every declared fn. Always
true for type-level default (expand_param! .variant*) declarations.
Trait Implementations§
Source§impl Clone for ConstructorDecl
impl Clone for ConstructorDecl
Source§fn clone(&self) -> ConstructorDecl
fn clone(&self) -> ConstructorDecl
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 moreAuto Trait Implementations§
impl !Send for ConstructorDecl
impl !Sync for ConstructorDecl
impl Freeze for ConstructorDecl
impl RefUnwindSafe for ConstructorDecl
impl Unpin for ConstructorDecl
impl UnsafeUnpin for ConstructorDecl
impl UnwindSafe for ConstructorDecl
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