pub enum TypeKind {
KindStruct {
ks_fields: Vec<FieldDef>,
},
KindEnum {
ke_discriminator: String,
ke_variants: Vec<VariantDef>,
},
KindAlias {
ka_target: TypeRef,
},
KindPrimitive {
kp_type: String,
kp_format: Option<String>,
},
KindStringEnum {
kse_values: Vec<String>,
},
}Expand description
Kind of type (Haskell-style tagged union)
Variants§
KindStruct
Struct with named fields
KindEnum
Tagged union (discriminated by “type” field)
Fields
§
ke_variants: Vec<VariantDef>KindAlias
Type alias
KindPrimitive
Primitive type
KindStringEnum
String enum (simple enum with string values)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TypeKind
impl<'de> Deserialize<'de> for TypeKind
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
Auto Trait Implementations§
impl Freeze for TypeKind
impl RefUnwindSafe for TypeKind
impl Send for TypeKind
impl Sync for TypeKind
impl Unpin for TypeKind
impl UnsafeUnpin for TypeKind
impl UnwindSafe for TypeKind
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