pub enum VariantKind {
Plain,
Tuple(Vec<Option<Id>>),
Struct {
fields: Vec<Id>,
has_stripped_fields: bool,
},
}
Variants§
Plain
A variant with no parentheses
enum Demo {
PlainVariant,
PlainWithDiscriminant = 1,
}
Tuple(Vec<Option<Id>>)
A variant with unnamed fields.
All Id
’s will point to ItemEnum::StructField
.
Unlike most of JSON, #[doc(hidden)]
fields will be given as None
instead of being omitted, because order matters.
enum Demo {
TupleVariant(i32),
EmptyTupleVariant(),
}
Struct
A variant with named fields.
enum Demo {
StructVariant { x: i32 },
EmptyStructVariant {},
}
Trait Implementations§
Source§impl Clone for VariantKind
impl Clone for VariantKind
Source§fn clone(&self) -> VariantKind
fn clone(&self) -> VariantKind
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for VariantKind
impl Debug for VariantKind
Source§impl<'de> Deserialize<'de> for VariantKind
impl<'de> Deserialize<'de> for VariantKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for VariantKind
impl Hash for VariantKind
Source§impl PartialEq for VariantKind
impl PartialEq for VariantKind
Source§impl Serialize for VariantKind
impl Serialize for VariantKind
impl Eq for VariantKind
impl StructuralPartialEq for VariantKind
Auto Trait Implementations§
impl Freeze for VariantKind
impl RefUnwindSafe for VariantKind
impl Send for VariantKind
impl Sync for VariantKind
impl Unpin for VariantKind
impl UnwindSafe for VariantKind
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
Plain
: 0 bytesTuple
: 32 bytesStruct
: 32 bytes