[][src]Trait holochain_wasmer_common::Deserialize

pub trait Deserialize<'de> {
    fn deserialize<D>(
        deserializer: D
    ) -> Result<Self, <D as Deserializer<'de>>::Error>
    where
        D: Deserializer<'de>
; }

A data structure that can be deserialized from any data format supported by Serde.

Serde provides Deserialize implementations for many Rust primitive and standard library types. The complete list is here. All of these can be deserialized using Serde out of the box.

Additionally, Serde provides a procedural macro called serde_derive to automatically generate Deserialize implementations for structs and enums in your program. See the derive section of the manual for how to use this.

In rare cases it may be necessary to implement Deserialize manually for some type in your program. See the Implementing Deserialize section of the manual for more about this.

Third-party crates may provide Deserialize implementations for types that they expose. For example the linked-hash-map crate provides a LinkedHashMap<K, V> type that is deserializable by Serde because the crate provides an implementation of Deserialize for it.

Lifetime

The 'de lifetime of this trait is the lifetime of data that may be borrowed by Self when deserialized. See the page Understanding deserializer lifetimes for a more detailed explanation of these lifetimes.

Required methods

fn deserialize<D>(
    deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
    D: Deserializer<'de>, 

Deserialize this value from the given Serde deserializer.

See the Implementing Deserialize section of the manual for more information about how to implement this method.

Loading content...

Implementations on Foreign Types

impl<'de, T> Deserialize<'de> for Wrapping<T> where
    T: Deserialize<'de>, 
[src]

impl<'de, T> Deserialize<'de> for RwLock<T> where
    T: Deserialize<'de>, 
[src]

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

impl<'de> Deserialize<'de> for u128[src]

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

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

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for SocketAddrV4[src]

impl<'de, T0, T1, T2, T3, T4> Deserialize<'de> for (T0, T1, T2, T3, T4) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for NonZeroU128[src]

impl<'de> Deserialize<'de> for Ipv6Addr[src]

impl<'de> Deserialize<'de> for PathBuf[src]

impl<'de> Deserialize<'de> for f64[src]

impl<'de> Deserialize<'de> for u16[src]

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

impl<'de, T0, T1, T2, T3, T4, T5, T6> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for NonZeroI16[src]

impl<'de> Deserialize<'de> for CString[src]

impl<'de> Deserialize<'de> for i64[src]

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

impl<'de> Deserialize<'de> for Ipv4Addr[src]

impl<'de, T> Deserialize<'de> for Bound<T> where
    T: Deserialize<'de>, 
[src]

impl<'de, T, E> Deserialize<'de> for Result<T, E> where
    E: Deserialize<'de>,
    T: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for i128[src]

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

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

impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V> where
    K: Deserialize<'de> + Ord,
    V: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for i32[src]

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

impl<'de, T> Deserialize<'de> for Cell<T> where
    T: Deserialize<'de> + Copy
[src]

impl<'de> Deserialize<'de> for usize[src]

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

impl<'de> Deserialize<'de> for AtomicI8[src]

impl<'de> Deserialize<'de> for NonZeroU8[src]

impl<'de> Deserialize<'de> for String[src]

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

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for AtomicI32[src]

impl<'de, T0, T1, T2> Deserialize<'de> for (T0, T1, T2) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>, 
[src]

impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T> where
    T: ToOwned + ?Sized,
    <T as ToOwned>::Owned: Deserialize<'de>, 
[src]

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

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

impl<'de, T> Deserialize<'de> for RefCell<T> where
    T: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for i16[src]

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

impl<'de, T> Deserialize<'de> for Mutex<T> where
    T: Deserialize<'de>, 
[src]

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

impl<'de> Deserialize<'de> for u64[src]

impl<'de> Deserialize<'de> for AtomicU16[src]

impl<'de, T, S> Deserialize<'de> for HashSet<T, S> where
    S: BuildHasher + Default,
    T: Deserialize<'de> + Eq + Hash
[src]

impl<'de, 'a> Deserialize<'de> for &'a [u8] where
    'de: 'a, 
[src]

impl<'de> Deserialize<'de> for NonZeroI64[src]

impl<'de> Deserialize<'de> for AtomicI16[src]

impl<'de> Deserialize<'de> for AtomicU8[src]

impl<'de> Deserialize<'de> for IgnoredAny[src]

impl<'de> Deserialize<'de> for isize[src]

impl<'de> Deserialize<'de> for NonZeroU64[src]

impl<'de> Deserialize<'de> for SystemTime[src]

impl<'de, Idx> Deserialize<'de> for Range<Idx> where
    Idx: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for f32[src]

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

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T10: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>,
    T9: Deserialize<'de>, 
[src]

impl<'de, 'a> Deserialize<'de> for &'a Path where
    'de: 'a, 
[src]

impl<'de> Deserialize<'de> for Box<str>[src]

impl<'de, Idx> Deserialize<'de> for RangeInclusive<Idx> where
    Idx: Deserialize<'de>, 
[src]

impl<'de, T> Deserialize<'de> for BTreeSet<T> where
    T: Deserialize<'de> + Eq + Ord
[src]

impl<'de, T> Deserialize<'de> for BinaryHeap<T> where
    T: Deserialize<'de> + Ord
[src]

impl<'de> Deserialize<'de> for OsString[src]

impl<'de> Deserialize<'de> for Box<CStr>[src]

impl<'de> Deserialize<'de> for NonZeroIsize[src]

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

impl<'de> Deserialize<'de> for Box<Path>[src]

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

impl<'de, T0, T1, T2, T3, T4, T5> Deserialize<'de> for (T0, T1, T2, T3, T4, T5) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for NonZeroU32[src]

impl<'de> Deserialize<'de> for u8[src]

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

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

impl<'de> Deserialize<'de> for bool[src]

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

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

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

impl<'de> Deserialize<'de> for AtomicU64[src]

impl<'de, T> Deserialize<'de> for Box<T> where
    T: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for NonZeroI32[src]

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T10: Deserialize<'de>,
    T11: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>,
    T9: Deserialize<'de>, 
[src]

impl<'de, T> Deserialize<'de> for Reverse<T> where
    T: Deserialize<'de>, 
[src]

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

impl<'de> Deserialize<'de> for Duration[src]

impl<'de> Deserialize<'de> for NonZeroI128[src]

impl<'de> Deserialize<'de> for AtomicUsize[src]

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

impl<'de, 'a> Deserialize<'de> for &'a str where
    'de: 'a, 
[src]

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T10: Deserialize<'de>,
    T11: Deserialize<'de>,
    T12: Deserialize<'de>,
    T13: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>,
    T9: Deserialize<'de>, 
[src]

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

impl<'de, T> Deserialize<'de> for [T; 0][src]

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

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

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

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T10: Deserialize<'de>,
    T11: Deserialize<'de>,
    T12: Deserialize<'de>,
    T13: Deserialize<'de>,
    T14: Deserialize<'de>,
    T15: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>,
    T9: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for NonZeroU16[src]

impl<'de> Deserialize<'de> for SocketAddrV6[src]

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

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T10: Deserialize<'de>,
    T11: Deserialize<'de>,
    T12: Deserialize<'de>,
    T13: Deserialize<'de>,
    T14: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>,
    T9: Deserialize<'de>, 
[src]

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

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

impl<'de> Deserialize<'de> for NonZeroI8[src]

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

impl<'de> Deserialize<'de> for i8[src]

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

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

impl<'de> Deserialize<'de> for char[src]

impl<'de> Deserialize<'de> for IpAddr[src]

impl<'de, T0, T1, T2, T3> Deserialize<'de> for (T0, T1, T2, T3) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>, 
[src]

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T10: Deserialize<'de>,
    T11: Deserialize<'de>,
    T12: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>,
    T9: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for AtomicU32[src]

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

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

impl<'de, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Deserialize<'de> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
    T0: Deserialize<'de>,
    T1: Deserialize<'de>,
    T2: Deserialize<'de>,
    T3: Deserialize<'de>,
    T4: Deserialize<'de>,
    T5: Deserialize<'de>,
    T6: Deserialize<'de>,
    T7: Deserialize<'de>,
    T8: Deserialize<'de>,
    T9: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for NonZeroUsize[src]

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

impl<'de> Deserialize<'de> for AtomicI64[src]

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

impl<'de> Deserialize<'de> for ()[src]

impl<'de, T> Deserialize<'de> for PhantomData<T> where
    T: ?Sized
[src]

impl<'de, T> Deserialize<'de> for Box<[T]> where
    T: Deserialize<'de>, 
[src]

impl<'de> Deserialize<'de> for AtomicBool[src]

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

impl<'de> Deserialize<'de> for SocketAddr[src]

impl<'de> Deserialize<'de> for AtomicIsize[src]

impl<'de> Deserialize<'de> for u32[src]

impl<'de> Deserialize<'de> for Number[src]

impl<'de> Deserialize<'de> for Value[src]

impl<'de> Deserialize<'de> for Map<String, Value>[src]

impl<'de> Deserialize<'de> for RawRef<'de>

impl<'de> Deserialize<'de> for Raw

impl<'de> Deserialize<'de> for ByteBuf[src]

impl<'a, 'de> Deserialize<'de> for &'a Bytes where
    'de: 'a, 
[src]

Loading content...

Implementors

impl<'de> Deserialize<'de> for SerializedBytesError[src]

impl<'de> Deserialize<'de> for WasmError[src]

impl<'de> Deserialize<'de> for WasmResult[src]

impl<'de> Deserialize<'de> for SerializedBytes[src]

Loading content...