pub enum Schema {
Unit,
Bottom,
Atom(String),
Product(Vec<Schema>),
Sum(Vec<Schema>),
Struct(Vec<Named>),
Enum(Vec<Named>),
Named(Box<Named>),
Seq(Box<Schema>),
Set(Box<Schema>),
Map(Box<Schema>, Box<Schema>),
}
Variants§
Unit
the unit type
Bottom
the bottom type
Atom(String)
an opaque atomic type, identified by its name
Product(Vec<Schema>)
a product type, aka tuple
Sum(Vec<Schema>)
a sum type, aka unnamed enum
Struct(Vec<Named>)
a struct type, tuple with named fields
Enum(Vec<Named>)
an enum type
Named(Box<Named>)
a named type
Seq(Box<Schema>)
a sequence type
Set(Box<Schema>)
a set type
Map(Box<Schema>, Box<Schema>)
a map type
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Schema
impl<'de> Deserialize<'de> for Schema
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
impl Eq for Schema
impl StructuralPartialEq for Schema
Auto Trait Implementations§
impl Freeze for Schema
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnwindSafe for Schema
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