Struct bincode::serde::Compat

source ·
pub struct Compat<T>(pub T);
Available on crate feature serde only.
Expand description

Wrapper struct that implements Decode and Encode on any type that implements serde’s DeserializeOwned and Serialize respectively.

This works for most types, but if you’re dealing with borrowed data consider using BorrowCompat instead.

Tuple Fields§

§0: T

Trait Implementations§

source§

impl<'de, T> BorrowDecode<'de> for Compat<T>where T: DeserializeOwned,

source§

fn borrow_decode<D: BorrowDecoder<'de>>( decoder: &mut D ) -> Result<Self, DecodeError>

Attempt to decode this type with the given BorrowDecode.
source§

impl<T> Decode for Compat<T>where T: DeserializeOwned,

source§

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

Attempt to decode this type with the given Decode.
source§

impl<T> Encode for Compat<T>where T: Serialize,

source§

fn encode<E: Encoder>(&self, encoder: &mut E) -> Result<(), EncodeError>

Encode a given type.

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Compat<T>where T: RefUnwindSafe,

§

impl<T> Send for Compat<T>where T: Send,

§

impl<T> Sync for Compat<T>where T: Sync,

§

impl<T> Unpin for Compat<T>where T: Unpin,

§

impl<T> UnwindSafe for Compat<T>where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.