zvariant

Trait DynamicDeserialize

Source
pub trait DynamicDeserialize<'de>: DynamicType {
    type Deserializer: DeserializeSeed<'de, Value = Self> + DynamicType;

    // Required method
    fn deserializer_for_signature(
        signature: &Signature,
    ) -> Result<Self::Deserializer>;
}
Expand description

Types that deserialize based on dynamic signatures.

Prefer implementing Type and Deserialize if possible, but if the actual signature of your type cannot be determined until runtime, you should implement this type to support deserialization given a signature.

Required Associated Types§

Source

type Deserializer: DeserializeSeed<'de, Value = Self> + DynamicType

A DeserializeSeed implementation for this type.

Required Methods§

Source

fn deserializer_for_signature( signature: &Signature, ) -> Result<Self::Deserializer>

Get a deserializer compatible with this parsed signature.

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.

Implementors§

Source§

impl<'a> DynamicDeserialize<'a> for Array<'a>

Source§

impl<'a> DynamicDeserialize<'a> for Structure<'a>

Source§

impl<'de> DynamicDeserialize<'de> for OwnedStructure

Source§

impl<'de, T0> DynamicDeserialize<'de> for DynamicTuple<(T0,)>
where T0: DynamicDeserialize<'de>,

Source§

impl<'de, T0, T1> DynamicDeserialize<'de> for DynamicTuple<(T0, T1)>
where T0: DynamicDeserialize<'de>, T1: DynamicDeserialize<'de>,

Source§

impl<'de, T0, T1, T2> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2)>
where T0: DynamicDeserialize<'de>, T1: DynamicDeserialize<'de>, T2: DynamicDeserialize<'de>,

Source§

impl<'de, T0, T1, T2, T3> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3)>
where T0: DynamicDeserialize<'de>, T1: DynamicDeserialize<'de>, T2: DynamicDeserialize<'de>, T3: DynamicDeserialize<'de>,

Source§

impl<'de, T0, T1, T2, T3, T4> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4)>
where T0: DynamicDeserialize<'de>, T1: DynamicDeserialize<'de>, T2: DynamicDeserialize<'de>, T3: DynamicDeserialize<'de>, T4: DynamicDeserialize<'de>,

Source§

impl<'de, T0, T1, T2, T3, T4, T5> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)>

Source§

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> DynamicDeserialize<'de> for DynamicTuple<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)>

Source§

impl<'de, T> DynamicDeserialize<'de> for T
where T: Type + Deserialize<'de>,