Trait serde::de::Deserialize [] [src]

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

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 codegen 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.

Required Methods

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.

Implementations on Foreign Types

impl Deserialize for ()
[src]

[src]

impl Deserialize for bool
[src]

[src]

impl Deserialize for isize
[src]

[src]

impl Deserialize for i8
[src]

[src]

impl Deserialize for i16
[src]

[src]

impl Deserialize for i32
[src]

[src]

impl Deserialize for i64
[src]

[src]

impl Deserialize for usize
[src]

[src]

impl Deserialize for u8
[src]

[src]

impl Deserialize for u16
[src]

[src]

impl Deserialize for u32
[src]

[src]

impl Deserialize for u64
[src]

[src]

impl Deserialize for f32
[src]

[src]

impl Deserialize for f64
[src]

[src]

impl Deserialize for char
[src]

[src]

impl Deserialize for String
[src]

[src]

impl Deserialize for CString
[src]

[src]

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

[src]

impl<T> Deserialize for PhantomData<T>
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl<T> Deserialize for [T; 0] where
    T: Deserialize
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Deserialize for IpAddr
[src]

[src]

impl Deserialize for Ipv4Addr
[src]

[src]

impl Deserialize for Ipv6Addr
[src]

[src]

impl Deserialize for SocketAddr
[src]

[src]

impl Deserialize for SocketAddrV4
[src]

[src]

impl Deserialize for SocketAddrV6
[src]

[src]

impl Deserialize for PathBuf
[src]

[src]

impl Deserialize for OsString
[src]

[src]

impl<T: Deserialize> Deserialize for Box<T>
[src]

[src]

impl<T: Deserialize> Deserialize for Box<[T]>
[src]

[src]

impl Deserialize for Box<str>
[src]

[src]

impl<T: Deserialize> Deserialize for Arc<T>
[src]

[src]

impl<T: Deserialize> Deserialize for Rc<T>
[src]

[src]

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

[src]

impl<T: Deserialize + Copy> Deserialize for Cell<T>
[src]

[src]

impl<T: Deserialize> Deserialize for RefCell<T>
[src]

[src]

impl<T: Deserialize> Deserialize for Mutex<T>
[src]

[src]

impl<T: Deserialize> Deserialize for RwLock<T>
[src]

[src]

impl Deserialize for Duration
[src]

[src]

impl<Idx: Deserialize> Deserialize for Range<Idx>
[src]

[src]

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

[src]

Implementors