[−][src]Struct maybe_serde::MaybeSerde
Helper type for connect serde and maybe-serde
This type implement both serde::{Serialize, Deserialize}
for all T
It's just helper type and not necessary
you could define your own type using MaybeSer and MaybeDe
When Serialize
if T: Serialize and Option is Some then just serialize T itself (doesn't serialize as Option!)
and T: !Serialize or Option is None then serialize None
maybe #[serde(skip_serializing_if = "T::IMPL_SERIALIZE")]
attribute could be help
When Deserialize
if T: Deserialize then get Some
and T: !Deserialize just None
Trait Implementations
impl<T> Into<Option<T>> for MaybeSerde<T>
[src]
impl<T: MaybeSer> Serialize for MaybeSerde<T>
[src]
impl<'de, T: MaybeDe<'de>> Deserialize<'de> for MaybeSerde<T>
[src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
Auto Trait Implementations
impl<T> Send for MaybeSerde<T> where
T: Send,
T: Send,
impl<T> Sync for MaybeSerde<T> where
T: Sync,
T: Sync,
Blanket Implementations
impl<T> MaybeSer for T
[src]
const IMPL_SERIALIZE: bool
[src]
Always return false
fn maybe_serialize<S>(
&Self,
S
) -> Option<Result<<S as Serializer>::Ok, <S as Serializer>::Error>> where
S: Serializer,
[src]
&Self,
S
) -> Option<Result<<S as Serializer>::Ok, <S as Serializer>::Error>> where
S: Serializer,
impl<T> MaybeSer for T where
T: Serialize,
[src]
T: Serialize,
const IMPL_SERIALIZE: bool
[src]
Always return true
fn maybe_serialize<S>(
&Self,
S
) -> Option<Result<<S as Serializer>::Ok, <S as Serializer>::Error>> where
S: Serializer,
[src]
&Self,
S
) -> Option<Result<<S as Serializer>::Ok, <S as Serializer>::Error>> where
S: Serializer,
impl<'de, T> MaybeDe for T
[src]
const IMPL_DESERIALIZE: bool
[src]
Always return false
fn maybe_deserialize<D>(D) -> Option<Result<T, <D as Deserializer<'de>>::Error>> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
impl<'de, T> MaybeDe for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
const IMPL_DESERIALIZE: bool
[src]
Always return true
fn maybe_deserialize<D>(D) -> Option<Result<T, <D as Deserializer<'de>>::Error>> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,