Trait borsh::schema::BorshSchema

source ·
pub trait BorshSchema {
    // Required methods
    fn add_definitions_recursively(
        definitions: &mut BTreeMap<Declaration, Definition>
    );
    fn declaration() -> Declaration;
}
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 BTreeMap<Declaration, Definition> )

Recursively, using DFS, add type definitions required for this type. Type definition partially explains how to serialize/deserialize a type.

source

fn declaration() -> Declaration

Get the name of the type without brackets.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

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 isize

source§

impl BorshSchema for str

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

source§

impl BorshSchema for usize

source§

impl BorshSchema for String

source§

impl BorshSchema for RangeFull

source§

impl BorshSchema for NonZeroI8

source§

impl BorshSchema for NonZeroI16

source§

impl BorshSchema for NonZeroI32

source§

impl BorshSchema for NonZeroI64

source§

impl BorshSchema for NonZeroI128

source§

impl BorshSchema for NonZeroU8

source§

impl BorshSchema for NonZeroU16

source§

impl BorshSchema for NonZeroU32

source§

impl BorshSchema for NonZeroU64

source§

impl BorshSchema for NonZeroU128

source§

impl BorshSchema for NonZeroUsize

source§

impl<K, V> BorshSchema for BTreeMap<K, V>
where K: BorshSchema, V: BorshSchema,

source§

impl<K, V> BorshSchema for HashMap<K, V>
where K: BorshSchema, V: 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)

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

source§

impl<T> BorshSchema for Cow<'_, T>
where T: ToOwned + ?Sized, T::Owned: BorshSchema,

source§

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

source§

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

source§

impl<T> BorshSchema for Box<T>
where T: BorshSchema + ?Sized,

source§

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

source§

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

source§

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

source§

impl<T> BorshSchema for Rc<T>
where T: BorshSchema + ?Sized,

source§

impl<T> BorshSchema for Arc<T>
where T: BorshSchema + ?Sized,

source§

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

source§

impl<T> BorshSchema for Cell<T>
where T: BorshSchema + Copy,

source§

impl<T> BorshSchema for RefCell<T>
where T: BorshSchema + Sized,

source§

impl<T> BorshSchema for PhantomData<T>

source§

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

source§

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

source§

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

source§

impl<T: BorshSchema> BorshSchema for Range<T>

source§

impl<T: BorshSchema> BorshSchema for RangeFrom<T>

source§

impl<T: BorshSchema> BorshSchema for RangeInclusive<T>

source§

impl<T: BorshSchema> BorshSchema for RangeTo<T>

source§

impl<T: BorshSchema> BorshSchema for RangeToInclusive<T>

Implementors§