[][src]Trait serde_with::DeserializeAs

pub trait DeserializeAs<'de, T>: Sized {
    pub fn deserialize_as<D>(deserializer: D) -> Result<T, D::Error>
    where
        D: Deserializer<'de>
; }

A data structure that can be deserialized from any data format supported by Serde, analogue to Deserialize.

The trait is analogue to the serde::Deserialize trait, with the same meaning of input and output arguments. It can and should the implemented using the same code structure as the Deserialize trait. As such, the same advice for implementing Deserialize applies here.

Differences to Deserialize

The trait is only required for container-like types or types implementing specific conversion functions. Container-like types are Vec, BTreeMap, but also Option and Box. Conversion types deserialize into a different Rust type. For example, DisplayFromStr uses the FromStr trait after deserializing a string and DurationSeconds creates a Duration from either String or integer values.

This code shows how to implement Deserialize for Box:

This example is not tested
impl<'de, T: Deserialize<'de>> Deserialize<'de> for Box<T> {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        Ok(Box::new(Deserialize::deserialize(deserializer)?))
    }
}

and this code shows how to do the same using DeserializeAs:

This example is not tested
impl<'de, T, U> DeserializeAs<'de, Box<T>> for Box<U>
where
    U: DeserializeAs<'de, T>,
{
    fn deserialize_as<D>(deserializer: D) -> Result<Box<T>, D::Error>
    where
        D: Deserializer<'de>,
    {
        Ok(Box::new(
            DeserializeAsWrap::<T, U>::deserialize(deserializer)?.into_inner(),
        ))
    }
}

It uses two type parameters, T and U instead of only one and performs the deserialization step using the DeserializeAsWrap type. The T type is the on the Rust side after deserialization, whereas the U type determines how the value will be deserialized. These two changes are usually enough to make a container type implement DeserializeAs.

Required methods

pub fn deserialize_as<D>(deserializer: D) -> Result<T, D::Error> where
    D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer.

Loading content...

Implementations on Foreign Types

impl<'de> DeserializeAs<'de, NaiveDateTime> for DateTime<Utc>[src]

impl<'de, T, U> DeserializeAs<'de, Box<T, Global>> for Box<U> where
    U: DeserializeAs<'de, T>, 
[src]

impl<'de, T, U> DeserializeAs<'de, Option<T>> for Option<U> where
    U: DeserializeAs<'de, T>, 
[src]

impl<'de, T, U> DeserializeAs<'de, BinaryHeap<T>> for BinaryHeap<U> where
    U: DeserializeAs<'de, T>,
    T: Ord
[src]

impl<'de, T, U> DeserializeAs<'de, Box<[T], Global>> for Box<[U]> where
    U: DeserializeAs<'de, T>, 
[src]

impl<'de, T, U> DeserializeAs<'de, BTreeSet<T>> for BTreeSet<U> where
    U: DeserializeAs<'de, T>,
    T: Ord
[src]

impl<'de, T, U> DeserializeAs<'de, HashSet<T, RandomState>> for HashSet<U> where
    U: DeserializeAs<'de, T>,
    T: Eq + Hash
[src]

impl<'de, T, U> DeserializeAs<'de, LinkedList<T>> for LinkedList<U> where
    U: DeserializeAs<'de, T>, 
[src]

impl<'de, T, U> DeserializeAs<'de, Vec<T>> for Vec<U> where
    U: DeserializeAs<'de, T>, 
[src]

impl<'de, T, U> DeserializeAs<'de, VecDeque<T>> for VecDeque<U> where
    U: DeserializeAs<'de, T>, 
[src]

impl<'de, K, V, KU, VU> DeserializeAs<'de, BTreeMap<K, V>> for BTreeMap<KU, VU> where
    KU: DeserializeAs<'de, K>,
    VU: DeserializeAs<'de, V>,
    K: Ord
[src]

impl<'de, K, V, KU, VU, S> DeserializeAs<'de, HashMap<K, V, S>> for HashMap<KU, VU, S> where
    KU: DeserializeAs<'de, K>,
    VU: DeserializeAs<'de, V>,
    K: Eq + Hash,
    S: BuildHasher + Default
[src]

impl<'de, T0, As0> DeserializeAs<'de, (T0,)> for (As0,) where
    As0: DeserializeAs<'de, T0>, 
[src]

impl<'de, T0, As0, T1, As1> DeserializeAs<'de, (T0, T1)> for (As0, As1) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2> DeserializeAs<'de, (T0, T1, T2)> for (As0, As1, As2) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3> DeserializeAs<'de, (T0, T1, T2, T3)> for (As0, As1, As2, As3) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4> DeserializeAs<'de, (T0, T1, T2, T3, T4)> for (As0, As1, As2, As3, As4) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5)> for (As0, As1, As2, As3, As4, As5) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6)> for (As0, As1, As2, As3, As4, As5, As6) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7)> for (As0, As1, As2, As3, As4, As5, As6, As7) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>,
    As9: DeserializeAs<'de, T9>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9, T10, As10> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9, As10) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>,
    As9: DeserializeAs<'de, T9>,
    As10: DeserializeAs<'de, T10>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9, T10, As10, T11, As11> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9, As10, As11) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>,
    As9: DeserializeAs<'de, T9>,
    As10: DeserializeAs<'de, T10>,
    As11: DeserializeAs<'de, T11>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9, T10, As10, T11, As11, T12, As12> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9, As10, As11, As12) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>,
    As9: DeserializeAs<'de, T9>,
    As10: DeserializeAs<'de, T10>,
    As11: DeserializeAs<'de, T11>,
    As12: DeserializeAs<'de, T12>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9, T10, As10, T11, As11, T12, As12, T13, As13> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9, As10, As11, As12, As13) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>,
    As9: DeserializeAs<'de, T9>,
    As10: DeserializeAs<'de, T10>,
    As11: DeserializeAs<'de, T11>,
    As12: DeserializeAs<'de, T12>,
    As13: DeserializeAs<'de, T13>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9, T10, As10, T11, As11, T12, As12, T13, As13, T14, As14> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9, As10, As11, As12, As13, As14) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>,
    As9: DeserializeAs<'de, T9>,
    As10: DeserializeAs<'de, T10>,
    As11: DeserializeAs<'de, T11>,
    As12: DeserializeAs<'de, T12>,
    As13: DeserializeAs<'de, T13>,
    As14: DeserializeAs<'de, T14>, 
[src]

impl<'de, T0, As0, T1, As1, T2, As2, T3, As3, T4, As4, T5, As5, T6, As6, T7, As7, T8, As8, T9, As9, T10, As10, T11, As11, T12, As12, T13, As13, T14, As14, T15, As15> DeserializeAs<'de, (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for (As0, As1, As2, As3, As4, As5, As6, As7, As8, As9, As10, As11, As12, As13, As14, As15) where
    As0: DeserializeAs<'de, T0>,
    As1: DeserializeAs<'de, T1>,
    As2: DeserializeAs<'de, T2>,
    As3: DeserializeAs<'de, T3>,
    As4: DeserializeAs<'de, T4>,
    As5: DeserializeAs<'de, T5>,
    As6: DeserializeAs<'de, T6>,
    As7: DeserializeAs<'de, T7>,
    As8: DeserializeAs<'de, T8>,
    As9: DeserializeAs<'de, T9>,
    As10: DeserializeAs<'de, T10>,
    As11: DeserializeAs<'de, T11>,
    As12: DeserializeAs<'de, T12>,
    As13: DeserializeAs<'de, T13>,
    As14: DeserializeAs<'de, T14>,
    As15: DeserializeAs<'de, T15>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 0]> for [As; 0] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 1]> for [As; 1] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 2]> for [As; 2] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 3]> for [As; 3] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 4]> for [As; 4] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 5]> for [As; 5] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 6]> for [As; 6] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 7]> for [As; 7] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 8]> for [As; 8] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 9]> for [As; 9] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 10]> for [As; 10] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 11]> for [As; 11] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 12]> for [As; 12] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 13]> for [As; 13] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 14]> for [As; 14] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 15]> for [As; 15] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 16]> for [As; 16] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 17]> for [As; 17] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 18]> for [As; 18] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 19]> for [As; 19] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 20]> for [As; 20] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 21]> for [As; 21] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 22]> for [As; 22] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 23]> for [As; 23] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 24]> for [As; 24] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 25]> for [As; 25] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 26]> for [As; 26] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 27]> for [As; 27] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 28]> for [As; 28] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 29]> for [As; 29] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 30]> for [As; 30] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 31]> for [As; 31] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, T, As> DeserializeAs<'de, [T; 32]> for [As; 32] where
    As: DeserializeAs<'de, T>, 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeMap<K, V>> for Vec<(KAs, VAs)> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Ord
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, HashMap<K, V, RandomState>> for Vec<(KAs, VAs)> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Eq + Hash
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Ord,
    V: Ord
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for HashMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Ord,
    V: Ord
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for BTreeMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Ord,
    V: Ord
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for HashMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Ord,
    V: Ord
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, HashSet<(K, V), RandomState>> for BTreeMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Eq + Hash,
    V: Eq + Hash
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, HashSet<(K, V), RandomState>> for HashMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: Eq + Hash,
    V: Eq + Hash
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for BTreeMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: ,
    V: , 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for HashMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: ,
    V: , 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for BTreeMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: ,
    V: , 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for HashMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: ,
    V: , 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for BTreeMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: ,
    V: , 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for HashMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>,
    K: ,
    V: , 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for BTreeMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>, 
[src]

impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for HashMap<KAs, VAs> where
    KAs: DeserializeAs<'de, K>,
    VAs: DeserializeAs<'de, V>, 
[src]

Loading content...

Implementors

impl<'de> DeserializeAs<'de, Vec<u8>> for BytesOrString[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSeconds<f64, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSeconds<u64, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSeconds<String, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSecondsWithFrac<f64, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSecondsWithFrac<String, Strict>[src]

impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<f64, Strict>[src]

impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<i64, Strict>[src]

impl<'de> DeserializeAs<'de, SystemTime> for TimestampSeconds<String, Strict>[src]

impl<'de> DeserializeAs<'de, SystemTime> for TimestampSecondsWithFrac<f64, Strict>[src]

impl<'de> DeserializeAs<'de, SystemTime> for TimestampSecondsWithFrac<String, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSeconds<f64, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSeconds<i64, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSeconds<String, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSecondsWithFrac<f64, Strict>[src]

impl<'de> DeserializeAs<'de, Duration> for DurationSecondsWithFrac<String, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<f64, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<i64, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<String, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSecondsWithFrac<f64, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Local>> for TimestampSecondsWithFrac<String, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<f64, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<i64, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<String, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSecondsWithFrac<f64, Strict>[src]

impl<'de> DeserializeAs<'de, DateTime<Utc>> for TimestampSecondsWithFrac<String, Strict>[src]

impl<'de, FORMAT> DeserializeAs<'de, Duration> for DurationSeconds<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, Duration> for DurationSecondsWithFrac<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, SystemTime> for TimestampSeconds<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, SystemTime> for TimestampSecondsWithFrac<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, Duration> for DurationSeconds<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, Duration> for DurationSecondsWithFrac<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, DateTime<Local>> for TimestampSeconds<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, DateTime<Local>> for TimestampSecondsWithFrac<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, DateTime<Utc>> for TimestampSeconds<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, FORMAT> DeserializeAs<'de, DateTime<Utc>> for TimestampSecondsWithFrac<FORMAT, Flexible> where
    FORMAT: Format
[src]

impl<'de, SEPARATOR, I, T> DeserializeAs<'de, I> for StringWithSeparator<SEPARATOR, T> where
    SEPARATOR: Separator,
    I: FromIterator<T>,
    T: FromStr,
    T::Err: Display
[src]

impl<'de, Str> DeserializeAs<'de, Option<Str>> for NoneAsEmptyString where
    Str: for<'a> From<&'a str>, 
[src]

impl<'de, T> DeserializeAs<'de, T> for JsonString where
    T: DeserializeOwned
[src]

impl<'de, T> DeserializeAs<'de, T> for DisplayFromStr where
    T: FromStr,
    T::Err: Display
[src]

impl<'de, T, FORMAT> DeserializeAs<'de, T> for Hex<FORMAT> where
    T: From<Vec<u8>>,
    FORMAT: Format
[src]

impl<'de, T, TAs> DeserializeAs<'de, T> for DefaultOnError<TAs> where
    TAs: DeserializeAs<'de, T>,
    T: Default
[src]

impl<'de, T, U> DeserializeAs<'de, T> for DefaultOnNull<U> where
    U: DeserializeAs<'de, T>,
    T: Default
[src]

impl<'de, T: Deserialize<'de>> DeserializeAs<'de, T> for Same[src]

Loading content...