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 BorshSchema for ()

source§

impl BorshSchema for bool

source§

impl BorshSchema for f32

source§

impl BorshSchema for f64

source§

impl BorshSchema for i8

source§

impl BorshSchema for i16

source§

impl BorshSchema for i32

source§

impl BorshSchema for i64

source§

impl BorshSchema for i128

source§

impl BorshSchema for u8

source§

impl BorshSchema for u16

source§

impl BorshSchema for u32

source§

impl BorshSchema for u64

source§

impl BorshSchema for u128

source§

impl BorshSchema for str

source§

impl BorshSchema for isize

source§

impl BorshSchema for usize

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<T0, T1, T2, T3> BorshSchema for (T0, T1, T2, T3)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: 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> BorshSchema for (T0, T1, T2, T3, T4, T5)where T0: BorshSchema, T1: BorshSchema, T2: BorshSchema, T3: BorshSchema, T4: BorshSchema, T5: 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> 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<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<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> 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<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, 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> 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<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, 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<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<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, 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<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,

Implementors§