Trait tapioca::Deserialize
[−]
[src]
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 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
fn deserialize<D>(
deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
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.
Implementors
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>,impl<'de, T> Deserialize<'de> for Box<[T]> where
T: Deserialize<'de>,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>,impl<'de, T> Deserialize<'de> for Option<T> where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for isize
impl<'de, T> Deserialize<'de> for [T; 27] where
T: Deserialize<'de>,impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S> where
K: Deserialize<'de> + Eq + Hash,
S: BuildHasher + Default,
V: Deserialize<'de>,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>,impl<'de> Deserialize<'de> for ()
impl<'de, T> Deserialize<'de> for Mutex<T> where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 5] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for usize
impl<'de, 'a> Deserialize<'de> for &'a str where
'de: 'a,impl<'de, T> Deserialize<'de> for [T; 4] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for String
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>,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>,impl<'de, Idx> Deserialize<'de> for Range<Idx> where
Idx: Deserialize<'de>,impl<'de> Deserialize<'de> for u8
impl<'de> Deserialize<'de> for Ipv6Addr
impl<'de, T> Deserialize<'de> for [T; 30] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for i32
impl<'de, T> Deserialize<'de> for [T; 24] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 28] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 16] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 0]
impl<'de> Deserialize<'de> for f32
impl<'de, 'a> Deserialize<'de> for &'a Path where
'de: 'a,impl<'de, T> Deserialize<'de> for [T; 25] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for PhantomData<T>
impl<'de, T> Deserialize<'de> for RefCell<T> where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for SocketAddrV4
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>,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>,impl<'de, T0, T1> Deserialize<'de> for (T0, T1) where
T0: Deserialize<'de>,
T1: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 17] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for BinaryHeap<T> where
T: Deserialize<'de> + Ord,impl<'de, T> Deserialize<'de> for [T; 3] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for Ipv4Addr
impl<'de> Deserialize<'de> for SocketAddrV6
impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V> where
K: Deserialize<'de> + Ord,
V: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 12] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 31] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for bool
impl<'de> Deserialize<'de> for IpAddr
impl<'de, 'a> Deserialize<'de> for &'a [u8] where
'de: 'a,impl<'de, T> Deserialize<'de> for [T; 22] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 29] where
T: Deserialize<'de>,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>,impl<'de> Deserialize<'de> for i16
impl<'de, 'a, T> Deserialize<'de> for Cow<'a, T> where
T: ToOwned + ?Sized,
<T as ToOwned>::Owned: Deserialize<'de>,impl<'de> Deserialize<'de> for u64
impl<'de> Deserialize<'de> for i64
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>,impl<'de, T> Deserialize<'de> for Cell<T> where
T: Deserialize<'de> + Copy,impl<'de, T> Deserialize<'de> for [T; 8] where
T: Deserialize<'de>,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>,impl<'de> Deserialize<'de> for CString
impl<'de, T, S> Deserialize<'de> for HashSet<T, S> where
S: BuildHasher + Default,
T: Deserialize<'de> + Eq + Hash,impl<'de, T> Deserialize<'de> for BTreeSet<T> where
T: Deserialize<'de> + Eq + Ord,impl<'de> Deserialize<'de> for f64
impl<'de, T> Deserialize<'de> for [T; 1] where
T: Deserialize<'de>,impl<'de, T0, T1, T2> Deserialize<'de> for (T0, T1, T2) where
T0: Deserialize<'de>,
T1: Deserialize<'de>,
T2: Deserialize<'de>,impl<'de, T> Deserialize<'de> for Box<T> where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for SocketAddr
impl<'de, T> Deserialize<'de> for [T; 26] where
T: Deserialize<'de>,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>,impl<'de, T> Deserialize<'de> for [T; 20] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for RwLock<T> where
T: Deserialize<'de>,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>,impl<'de, T> Deserialize<'de> for [T; 19] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 18] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 2] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 14] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 23] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 21] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 10] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 11] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for PathBuf
impl<'de, T> Deserialize<'de> for Vec<T> where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for LinkedList<T> where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for IgnoredAny
impl<'de> Deserialize<'de> for Duration
impl<'de> Deserialize<'de> for char
impl<'de, T> Deserialize<'de> for [T; 6] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for u16
impl<'de> Deserialize<'de> for i8
impl<'de, T0> Deserialize<'de> for (T0,) where
T0: Deserialize<'de>,impl<'de, T, E> Deserialize<'de> for Result<T, E> where
E: Deserialize<'de>,
T: Deserialize<'de>,impl<'de> Deserialize<'de> for u32
impl<'de, T> Deserialize<'de> for VecDeque<T> where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 15] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 7] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for OsString
impl<'de, T> Deserialize<'de> for [T; 13] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 32] where
T: Deserialize<'de>,impl<'de, T> Deserialize<'de> for [T; 9] where
T: Deserialize<'de>,impl<'de> Deserialize<'de> for Box<str>
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>,impl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Number
impl<'de> Deserialize<'de> for Map<String, Value>