serialization

Trait Decode

Source
pub trait Decode: Sized {
    // Required method
    fn decode<D: Decoder>(
        decoder: &mut D,
        place: &mut MaybeUninit<Self>,
    ) -> Result<(), D::Error>;

    // Provided method
    fn decode_placed<D: Decoder>(decoder: &mut D) -> Result<Self, D::Error> { ... }
}

Required Methods§

Source

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Provided Methods§

Source

fn decode_placed<D: Decoder>(decoder: &mut D) -> Result<Self, D::Error>

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 Decode for &str

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for bool

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for f32

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for f64

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for i8

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for i16

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for i32

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for i64

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for i128

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for isize

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for u8

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for u16

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for u32

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for u64

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for u128

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for usize

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for String

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for Vec<u8>

Source§

default fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxI32VarInt

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for VarInt

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxI8

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxI16

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxI32

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxI64

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxI128

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxIsize

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxU8

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxU16

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxU32

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxU64

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxU128

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for NonMaxUsize

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl Decode for Uuid

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<'a, T: Decode + Clone> Decode for Cow<'a, T>

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T0: Decode, T1: Decode> Decode for (T0, T1)

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T0: Decode, T1: Decode, T2: Decode> Decode for (T0, T1, T2)

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

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

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T> Decode for PhantomData<T>

Source§

fn decode<D: Decoder>( _decoder: &mut D, _place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T: Decode> Decode for Option<T>

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T: Decode> Decode for Vec<T>

Source§

default fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T: Decode, Error: Decode> Decode for Result<T, Error>

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T: Decode, const CAP: usize> Decode for [T; CAP]

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<T: Decode, const CAP: usize> Decode for ArrayVec<T, CAP>

Source§

default fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<const CAP: usize> Decode for ArrayString<CAP>

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Source§

impl<const CAP: usize> Decode for ArrayVec<u8, CAP>

Source§

fn decode<D: Decoder>( decoder: &mut D, place: &mut MaybeUninit<Self>, ) -> Result<(), D::Error>

Implementors§