Skip to main content

BorshSerializeAs

Trait BorshSerializeAs 

Source
pub trait BorshSerializeAs<T: ?Sized> {
    // Required method
    fn serialize_as<W>(source: &T, writer: &mut W) -> Result<()>
       where W: Write;
}

Required Methods§

Source

fn serialize_as<W>(source: &T, writer: &mut W) -> Result<()>
where W: Write,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T0, As0> BorshSerializeAs<(T0,)> for (As0,)
where As0: BorshSerializeAs<T0>,

Source§

fn serialize_as<W>(source: &(T0,), writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T0, As0, T1, As1> BorshSerializeAs<(T0, T1)> for (As0, As1)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>,

Source§

fn serialize_as<W>(source: &(T0, T1), writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T0, As0, T1, As1, T2, As2> BorshSerializeAs<(T0, T1, T2)> for (As0, As1, As2)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>,

Source§

fn serialize_as<W>(source: &(T0, T1, T2), writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T0, As0, T1, As1, T2, As2, T3, As3> BorshSerializeAs<(T0, T1, T2, T3)> for (As0, As1, As2, As3)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>, As3: BorshSerializeAs<T3>,

Source§

fn serialize_as<W>(source: &(T0, T1, T2, T3), writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4> BorshSerializeAs<(T0, T1, T2, T3, T4)> for (As0, As1, As2, As3, As4)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>, As3: BorshSerializeAs<T3>, As4: BorshSerializeAs<T4>,

Source§

fn serialize_as<W>(source: &(T0, T1, T2, T3, T4), writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5> BorshSerializeAs<(T0, T1, T2, T3, T4, T5)> for (As0, As1, As2, As3, As4, As5)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>, As3: BorshSerializeAs<T3>, As4: BorshSerializeAs<T4>, As5: BorshSerializeAs<T5>,

Source§

fn serialize_as<W>( source: &(T0, T1, T2, T3, T4, T5), writer: &mut W, ) -> Result<()>
where W: Write,

Source§

impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6> BorshSerializeAs<(T0, T1, T2, T3, T4, T5, T6)> for (As0, As1, As2, As3, As4, As5, As6)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>, As3: BorshSerializeAs<T3>, As4: BorshSerializeAs<T4>, As5: BorshSerializeAs<T5>, As6: BorshSerializeAs<T6>,

Source§

fn serialize_as<W>( source: &(T0, T1, T2, T3, T4, T5, T6), writer: &mut W, ) -> Result<()>
where W: Write,

Source§

impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7> BorshSerializeAs<(T0, T1, T2, T3, T4, T5, T6, T7)> for (As0, As1, As2, As3, As4, As5, As6, As7)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>, As3: BorshSerializeAs<T3>, As4: BorshSerializeAs<T4>, As5: BorshSerializeAs<T5>, As6: BorshSerializeAs<T6>, As7: BorshSerializeAs<T7>,

Source§

impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8> BorshSerializeAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>, As3: BorshSerializeAs<T3>, As4: BorshSerializeAs<T4>, As5: BorshSerializeAs<T5>, As6: BorshSerializeAs<T6>, As7: BorshSerializeAs<T7>, As8: BorshSerializeAs<T8>,

Source§

impl<T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9> BorshSerializeAs<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9)
where As0: BorshSerializeAs<T0>, As1: BorshSerializeAs<T1>, As2: BorshSerializeAs<T2>, As3: BorshSerializeAs<T3>, As4: BorshSerializeAs<T4>, As5: BorshSerializeAs<T5>, As6: BorshSerializeAs<T6>, As7: BorshSerializeAs<T7>, As8: BorshSerializeAs<T8>, As9: BorshSerializeAs<T9>,

Source§

impl<T, As> BorshSerializeAs<Option<T>> for Option<As>
where As: BorshSerializeAs<T>,

Source§

fn serialize_as<W>(source: &Option<T>, writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T, As> BorshSerializeAs<&T> for &As
where T: ?Sized, As: BorshSerializeAs<T> + ?Sized,

Source§

fn serialize_as<W>(source: &&T, writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T, As> BorshSerializeAs<&mut T> for &mut As
where T: ?Sized, As: BorshSerializeAs<T> + ?Sized,

Source§

fn serialize_as<W>(source: &&mut T, writer: &mut W) -> Result<()>
where W: Write,

Source§

impl<T, As> BorshSerializeAs<[T]> for [As]
where As: BorshSerializeAs<T>,

Source§

fn serialize_as<W>(source: &[T], writer: &mut W) -> Result<()>
where W: Write,

Source§

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

Source§

fn serialize_as<W>(source: &Box<T>, writer: &mut W) -> Result<()>
where W: Write,

Source§

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

Source§

fn serialize_as<W>(source: &Rc<T>, writer: &mut W) -> Result<()>
where W: Write,

Source§

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

Source§

fn serialize_as<W>(source: &Arc<T>, writer: &mut W) -> Result<()>
where W: Write,

Source§

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

Source§

fn serialize_as<W>(source: &[T; N], writer: &mut W) -> Result<()>
where W: Write,

Implementors§

Source§

impl<I> BorshSerializeAs<Duration> for DurationMicroSeconds<I>
where I: TryFrom<u128> + BorshSerialize, I::Error: Display,

Source§

impl<I> BorshSerializeAs<Duration> for DurationMilliSeconds<I>
where I: TryFrom<u128> + BorshSerialize, I::Error: Display,

Source§

impl<I> BorshSerializeAs<Duration> for DurationNanoSeconds<I>
where I: TryFrom<u128> + BorshSerialize, I::Error: Display,

Source§

impl<I> BorshSerializeAs<Duration> for DurationSeconds<I>
where I: TryFrom<u64> + BorshSerialize, I::Error: Display,

Source§

impl<T> BorshSerializeAs<T> for Remainder
where T: AsRef<[u8]>,

Source§

impl<T> BorshSerializeAs<T> for Same
where T: BorshSerialize,

Source§

impl<T, U> BorshSerializeAs<T> for FromInto<U>
where T: Into<U> + Clone, U: BorshSerialize,

Source§

impl<T, U> BorshSerializeAs<T> for FromIntoRef<U>
where for<'a> &'a T: Into<U>, U: BorshSerialize,

Source§

impl<T, U> BorshSerializeAs<T> for TryFromInto<U>
where T: TryInto<U> + Clone, <T as TryInto<U>>::Error: Display, U: BorshSerialize,