Enum borsh::schema::Definition
source · [−]pub enum Definition {
Array {
length: u32,
elements: Declaration,
},
Sequence {
elements: Declaration,
},
Tuple {
elements: Vec<Declaration>,
},
Enum {
variants: Vec<(VariantName, Declaration)>,
},
Struct {
fields: Fields,
},
}
Expand description
The type that we use to represent the definition of the Borsh type.
Variants
Array
A fixed-size array with the length known at the compile time and the same-type elements.
Sequence
Fields
elements: Declaration
A sequence of elements of length known at the run time and the same-type elements.
Tuple
Fields
elements: Vec<Declaration>
A fixed-size tuple with the length known at the compile time and the elements of different types.
Enum
Fields
variants: Vec<(VariantName, Declaration)>
A tagged union, a.k.a enum. Tagged-unions have variants with associated structures.
Struct
Fields
fields: Fields
A structure, structurally similar to a tuple.
Trait Implementations
Get the name of the type without brackets.
Recursively, using DFS, add type definitions required for this type. For primitive types this is an empty map. Type definition explains how to serialize/deserialize a type. Read more
fn add_definition(
declaration: Declaration,
definition: Definition,
definitions: &mut HashMap<Declaration, Definition>
)
fn add_definition(
declaration: Declaration,
definition: Definition,
definitions: &mut HashMap<Declaration, Definition>
)
Helper method to add a single type definition to the map.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.