Trait borsh::schema::BorshSchema

source ·
pub trait BorshSchema {
    // Required methods
    fn add_definitions_recursively(
        definitions: &mut HashMap<Declaration, Definition>
    );
    fn declaration() -> Declaration;

    // Provided methods
    fn add_definition(
        declaration: Declaration,
        definition: Definition,
        definitions: &mut HashMap<Declaration, Definition>
    ) { ... }
    fn schema_container() -> BorshSchemaContainer { ... }
}
Expand description

The declaration and the definition of the type that can be used to (de)serialize Borsh without the Rust type that produced it.

Required Methods§

source

fn add_definitions_recursively( definitions: &mut HashMap<Declaration, Definition> )

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.

source

fn declaration() -> Declaration

Get the name of the type without brackets.

Provided Methods§

source

fn add_definition( declaration: Declaration, definition: Definition, definitions: &mut HashMap<Declaration, Definition> )

Helper method to add a single type definition to the map.

source

fn schema_container() -> BorshSchemaContainer

Implementations on Foreign Types§

source§

impl<T0> BorshSchema for (T0,)where T0: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema, T14: BorshSchema, T15: BorshSchema,

source§

impl BorshSchema for f32

source§

impl BorshSchema for f64

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema, T14: BorshSchema, T15: BorshSchema, T16: BorshSchema,

source§

impl BorshSchema for i32

source§

impl BorshSchema for usize

source§

impl<T, E> BorshSchema for Result<T, E>where T: BorshSchema, E: BorshSchema,

source§

impl BorshSchema for u16

source§

impl BorshSchema for u64

source§

impl BorshSchema for bool

source§

impl BorshSchema for ()

source§

impl BorshSchema for u32

source§

impl<T0, T1, T2, T3> BorshSchema for (T0, T1, T2, T3)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema,

source§

impl BorshSchema for u8

source§

impl<T, const N: usize> BorshSchema for [T; N]where T: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema,

source§

impl BorshSchema for str

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema, T14: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema,

source§

impl BorshSchema for u128

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6> BorshSchema for (T0, T1, T2, T3, T4, T5, T6)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema, T14: BorshSchema, T15: BorshSchema, T16: BorshSchema, T17: BorshSchema,

source§

impl<T0, T1, T2> BorshSchema for (T0, T1, T2)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema,

source§

impl<T0, T1, T2, T3, T4> BorshSchema for (T0, T1, T2, T3, T4)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema, T14: BorshSchema, T15: BorshSchema, T16: BorshSchema, T17: BorshSchema, T18: BorshSchema, T19: BorshSchema, T20: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema, T14: BorshSchema, T15: BorshSchema, T16: BorshSchema, T17: BorshSchema, T18: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema, T11: BorshSchema, T12: BorshSchema, T13: BorshSchema, T14: BorshSchema, T15: BorshSchema, T16: BorshSchema, T17: BorshSchema, T18: BorshSchema, T19: BorshSchema,

source§

impl BorshSchema for isize

source§

impl<T0, T1> BorshSchema for (T0, T1)where T0: BorshSchema, T1: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema,

source§

impl<T> BorshSchema for [T]where T: BorshSchema,

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> BorshSchema for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema, T6: BorshSchema, T7: BorshSchema, T8: BorshSchema, T9: BorshSchema, T10: BorshSchema,

source§

impl BorshSchema for i16

source§

impl<T> BorshSchema for Option<T>where T: BorshSchema,

source§

impl BorshSchema for i128

source§

impl BorshSchema for i64

source§

impl BorshSchema for i8

source§

impl<T0, T1, T2, T3, T4, T5> BorshSchema for (T0, T1, T2, T3, T4, T5)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: BorshSchema,

Implementors§