Trait Encode

pub unsafe trait Encode<E>: Sized + Encodable
where E: ?Sized,
{ // Required method fn encode( self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>; }
Expand description

Encodes a value.

§Safety

encode must initialize all non-padding bytes of out.

Required Methods§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Encodes this value into an encoder and output.

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§

§

impl<E> Encode<E> for &str
where E: Encoder + ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<&str as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for bool
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<bool as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for f32
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<f32 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for f64
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<f64 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for i8
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<i8 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for i16
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<i16 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for i32
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<i32 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for i64
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<i64 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for u8
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<u8 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for u16
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<u16 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for u32
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<u32 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for u64
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<u64 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for ()
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<() as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for String
where E: Encoder + ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<String as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E> Encode<E> for WireMessageHeader
where E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<WireMessageHeader as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E, T> Encode<E> for &[T]
where E: Encoder + ?Sized, T: EncodeRef<E>,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<&[T] as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E, T> Encode<E> for Option<T>
where T: EncodeOption<E>, E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<Option<T> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E, T> Encode<E> for &T
where T: EncodeRef<E>, E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<&T as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E, T> Encode<E> for Box<T>
where T: Encode<E>, E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<Box<T> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E, T> Encode<E> for Vec<T>
where E: Encoder + ?Sized, T: Encode<E>,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<Vec<T> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<E, T, const N: usize> Encode<E> for [T; N]
where T: Encode<E>, E: ?Sized,

§

fn encode( self, encoder: &mut E, out: &mut MaybeUninit<<[T; N] as Encodable>::Encoded>, ) -> Result<(), EncodeError>

§

impl<Enc, T, E> Encode<Enc> for Result<T, E>
where Enc: Encoder + ?Sized, T: Encode<Enc>, E: Encode<Enc>,

§

fn encode( self, encoder: &mut Enc, out: &mut MaybeUninit<<Result<T, E> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Implementors§

§

impl<E> Encode<E> for FrameworkError
where E: ?Sized,

§

impl<E> Encode<E> for Bti
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Channel
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Clock
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Event
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for EventPair
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Exception
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Fifo
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Guest
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Handle
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Interrupt
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Iob
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Iommu
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Job
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Pager
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Pmt
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Port
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Process
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Profile
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Resource
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Socket
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Stream
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Thread
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Timer
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Vcpu
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Vmar
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for Vmo
where E: HandleEncoder + ?Sized,

§

impl<E> Encode<E> for WireF32
where E: ?Sized,

§

impl<E> Encode<E> for WireF64
where E: ?Sized,

§

impl<E> Encode<E> for WireI16
where E: ?Sized,

§

impl<E> Encode<E> for WireI32
where E: ?Sized,

§

impl<E> Encode<E> for WireI64
where E: ?Sized,

§

impl<E> Encode<E> for WireU16
where E: ?Sized,

§

impl<E> Encode<E> for WireU32
where E: ?Sized,

§

impl<E> Encode<E> for WireU64
where E: ?Sized,

§

impl<E, P, T> Encode<E> for ClientEnd<P, T>
where P: 'static, T: Encode<E>, E: ?Sized,

§

impl<E, P, T> Encode<E> for ServerEnd<P, T>
where P: 'static, T: Encode<E>, E: ?Sized,

§

impl<E, T> Encode<E> for Flexible<T>
where E: Encoder + ?Sized, T: Encode<E>,

§

impl<Enc, T, E> Encode<Enc> for FlexibleResult<T, E>
where Enc: Encoder + ?Sized, T: Encode<Enc>, E: Encode<Enc>,