pub trait Decoder: Sized + BinaryDecoder {
type Error: DecodeError;
type TupleDecoder: CompositeDecoder<Error = Self::Error>;
type StructDecoder: CompositeDecoder<Error = Self::Error>;
type SequenceDecoder: CompositeDecoder<Error = Self::Error>;
Show 24 methods
// Required methods
fn decode_bool(
&mut self,
place: &mut MaybeUninit<bool>,
) -> Result<(), Self::Error>;
fn decode_u8(
&mut self,
place: &mut MaybeUninit<u8>,
) -> Result<(), Self::Error>;
fn decode_i8(
&mut self,
place: &mut MaybeUninit<i8>,
) -> Result<(), Self::Error>;
fn decode_u16(
&mut self,
place: &mut MaybeUninit<u16>,
) -> Result<(), Self::Error>;
fn decode_i16(
&mut self,
place: &mut MaybeUninit<i16>,
) -> Result<(), Self::Error>;
fn decode_u32(
&mut self,
place: &mut MaybeUninit<u32>,
) -> Result<(), Self::Error>;
fn decode_i32(
&mut self,
place: &mut MaybeUninit<i32>,
) -> Result<(), Self::Error>;
fn decode_u64(
&mut self,
place: &mut MaybeUninit<u64>,
) -> Result<(), Self::Error>;
fn decode_i64(
&mut self,
place: &mut MaybeUninit<i64>,
) -> Result<(), Self::Error>;
fn decode_u128(
&mut self,
place: &mut MaybeUninit<u128>,
) -> Result<(), Self::Error>;
fn decode_i128(
&mut self,
place: &mut MaybeUninit<i128>,
) -> Result<(), Self::Error>;
fn decode_usize(
&mut self,
place: &mut MaybeUninit<usize>,
) -> Result<(), Self::Error>;
fn decode_isize(
&mut self,
place: &mut MaybeUninit<isize>,
) -> Result<(), Self::Error>;
fn decode_f32(
&mut self,
place: &mut MaybeUninit<f32>,
) -> Result<(), Self::Error>;
fn decode_f64(
&mut self,
place: &mut MaybeUninit<f64>,
) -> Result<(), Self::Error>;
fn decode_str(
&mut self,
place: &mut MaybeUninit<&str>,
) -> Result<(), Self::Error>;
fn decode_bytes(&mut self) -> Result<&[u8], Self::Error>;
fn decode_var_i32(
&mut self,
place: &mut MaybeUninit<i32>,
) -> Result<(), Self::Error>;
fn decode_tuple(&mut self) -> Result<&mut Self::TupleDecoder, Self::Error>;
fn decode_struct(&mut self) -> Result<&mut Self::StructDecoder, Self::Error>;
fn decode_seq(&mut self) -> Result<&mut Self::SequenceDecoder, Self::Error>;
fn decode_seq_len(&mut self) -> Result<usize, Self::Error>;
fn decode_enum(
&mut self,
enum_name: &'static str,
) -> Result<EnumIdentifier, Self::Error>;
fn decode_is_some(&mut self) -> Result<bool, Self::Error>;
}Required Associated Types§
type Error: DecodeError
type TupleDecoder: CompositeDecoder<Error = Self::Error>
type StructDecoder: CompositeDecoder<Error = Self::Error>
type SequenceDecoder: CompositeDecoder<Error = Self::Error>
Required Methods§
fn decode_bool( &mut self, place: &mut MaybeUninit<bool>, ) -> Result<(), Self::Error>
fn decode_u8(&mut self, place: &mut MaybeUninit<u8>) -> Result<(), Self::Error>
fn decode_i8(&mut self, place: &mut MaybeUninit<i8>) -> Result<(), Self::Error>
fn decode_u16( &mut self, place: &mut MaybeUninit<u16>, ) -> Result<(), Self::Error>
fn decode_i16( &mut self, place: &mut MaybeUninit<i16>, ) -> Result<(), Self::Error>
fn decode_u32( &mut self, place: &mut MaybeUninit<u32>, ) -> Result<(), Self::Error>
fn decode_i32( &mut self, place: &mut MaybeUninit<i32>, ) -> Result<(), Self::Error>
fn decode_u64( &mut self, place: &mut MaybeUninit<u64>, ) -> Result<(), Self::Error>
fn decode_i64( &mut self, place: &mut MaybeUninit<i64>, ) -> Result<(), Self::Error>
fn decode_u128( &mut self, place: &mut MaybeUninit<u128>, ) -> Result<(), Self::Error>
fn decode_i128( &mut self, place: &mut MaybeUninit<i128>, ) -> Result<(), Self::Error>
fn decode_usize( &mut self, place: &mut MaybeUninit<usize>, ) -> Result<(), Self::Error>
fn decode_isize( &mut self, place: &mut MaybeUninit<isize>, ) -> Result<(), Self::Error>
fn decode_f32( &mut self, place: &mut MaybeUninit<f32>, ) -> Result<(), Self::Error>
fn decode_f64( &mut self, place: &mut MaybeUninit<f64>, ) -> Result<(), Self::Error>
fn decode_str( &mut self, place: &mut MaybeUninit<&str>, ) -> Result<(), Self::Error>
fn decode_bytes(&mut self) -> Result<&[u8], Self::Error>
fn decode_var_i32( &mut self, place: &mut MaybeUninit<i32>, ) -> Result<(), Self::Error>
fn decode_tuple(&mut self) -> Result<&mut Self::TupleDecoder, Self::Error>
fn decode_struct(&mut self) -> Result<&mut Self::StructDecoder, Self::Error>
fn decode_seq(&mut self) -> Result<&mut Self::SequenceDecoder, Self::Error>
fn decode_seq_len(&mut self) -> Result<usize, Self::Error>
fn decode_enum( &mut self, enum_name: &'static str, ) -> Result<EnumIdentifier, Self::Error>
fn decode_is_some(&mut self) -> Result<bool, Self::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.