#[repr(transparent)]pub struct SeedWrapper<T>(pub T)
where
T: ?Sized;Expand description
A wrapper type that implements serde traits when T implements SATS traits.
Specifically:
T: sats::Serialize =>SerializeWrapper<T>: serde::SerializeT: sats::Deserialize<’de> =>SerializeWrapper<T>: [serde::Deserialize<’de>]T: sats::DeserializeSeed<’de> =>SerializeWrapper<T>: [serde::DeserializeSeed<’de>]
Tuple Fields§
§0: TImplementations§
Source§impl<T> SerdeWrapper<T>where
T: ?Sized,
impl<T> SerdeWrapper<T>where
T: ?Sized,
Sourcepub fn new(t: T) -> SerdeWrapper<T>
pub fn new(t: T) -> SerdeWrapper<T>
Wraps a value in SerdeWrapper.
Sourcepub fn from_ref(t: &T) -> &SerdeWrapper<T>
pub fn from_ref(t: &T) -> &SerdeWrapper<T>
Converts &T to &SerializeWrapper<T>.
Trait Implementations§
Source§impl<'de, T> Deserialize<'de> for SerdeWrapper<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for SerdeWrapper<T>where
T: Deserialize<'de>,
Source§fn deserialize<D>(
deserializer: D,
) -> Result<SerdeWrapper<T>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<SerdeWrapper<T>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'de, T> DeserializeSeed<'de> for SerdeWrapper<T>where
T: DeserializeSeed<'de>,
impl<'de, T> DeserializeSeed<'de> for SerdeWrapper<T>where
T: DeserializeSeed<'de>,
Source§type Value = <T as DeserializeSeed<'de>>::Output
type Value = <T as DeserializeSeed<'de>>::Output
The type produced by using this seed.
Source§fn deserialize<D>(
self,
de: D,
) -> Result<<SerdeWrapper<T> as DeserializeSeed<'de>>::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
self,
de: D,
) -> Result<<SerdeWrapper<T> as DeserializeSeed<'de>>::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Equivalent to the more common
Deserialize::deserialize method, except
with some initial piece of data (the seed) passed in.Source§impl<T> Serialize for SerdeWrapper<T>
impl<T> Serialize for SerdeWrapper<T>
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl<T> Freeze for SerdeWrapper<T>
impl<T> RefUnwindSafe for SerdeWrapper<T>where
T: RefUnwindSafe + ?Sized,
impl<T> Send for SerdeWrapper<T>
impl<T> Sync for SerdeWrapper<T>
impl<T> Unpin for SerdeWrapper<T>
impl<T> UnwindSafe for SerdeWrapper<T>where
T: UnwindSafe + ?Sized,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more