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

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§

source

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.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'de> Deserialize<'de> for IpAddr

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for SocketAddr

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for bool

source§

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

source§

impl<'de> Deserialize<'de> for char

source§

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

source§

impl<'de> Deserialize<'de> for f32

source§

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

source§

impl<'de> Deserialize<'de> for f64

source§

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

source§

impl<'de> Deserialize<'de> for i8

source§

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

source§

impl<'de> Deserialize<'de> for i16

source§

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

source§

impl<'de> Deserialize<'de> for i32

source§

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

source§

impl<'de> Deserialize<'de> for i64

source§

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

source§

impl<'de> Deserialize<'de> for i128

source§

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

source§

impl<'de> Deserialize<'de> for isize

source§

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

source§

impl<'de> Deserialize<'de> for u8

source§

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

source§

impl<'de> Deserialize<'de> for u16

source§

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

source§

impl<'de> Deserialize<'de> for u32

source§

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

source§

impl<'de> Deserialize<'de> for u64

source§

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

source§

impl<'de> Deserialize<'de> for u128

source§

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

source§

impl<'de> Deserialize<'de> for ()

source§

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

source§

impl<'de> Deserialize<'de> for usize

source§

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

source§

impl<'de> Deserialize<'de> for Box<str>

Available on crate features std or alloc only.
source§

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

source§

impl<'de> Deserialize<'de> for Box<CStr>

Available on crate feature std, or non-no_core_cstr and crate feature alloc only.
source§

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

source§

impl<'de> Deserialize<'de> for Box<OsStr>

Available on crate feature std and (Unix or Windows) only.
source§

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

source§

impl<'de> Deserialize<'de> for Box<Path>

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for CString

Available on crate feature std, or non-no_core_cstr and crate feature alloc only.
source§

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

source§

impl<'de> Deserialize<'de> for String

Available on crate features std or alloc only.
source§

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

source§

impl<'de> Deserialize<'de> for Ipv4Addr

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for Ipv6Addr

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for SocketAddrV4

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for SocketAddrV6

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for NonZeroI8

Available on non-no_num_nonzero_signed only.
source§

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

source§

impl<'de> Deserialize<'de> for NonZeroI16

Available on non-no_num_nonzero_signed only.
source§

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

source§

impl<'de> Deserialize<'de> for NonZeroI32

Available on non-no_num_nonzero_signed only.
source§

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

source§

impl<'de> Deserialize<'de> for NonZeroI64

Available on non-no_num_nonzero_signed only.
source§

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

source§

impl<'de> Deserialize<'de> for NonZeroI128

Available on non-no_num_nonzero_signed only.
source§

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

source§

impl<'de> Deserialize<'de> for NonZeroIsize

Available on non-no_num_nonzero_signed only.
source§

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

source§

impl<'de> Deserialize<'de> for NonZeroU8

source§

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

source§

impl<'de> Deserialize<'de> for NonZeroU16

source§

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

source§

impl<'de> Deserialize<'de> for NonZeroU32

source§

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

source§

impl<'de> Deserialize<'de> for NonZeroU64

source§

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

source§

impl<'de> Deserialize<'de> for NonZeroU128

source§

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

source§

impl<'de> Deserialize<'de> for NonZeroUsize

source§

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

source§

impl<'de> Deserialize<'de> for AtomicBool

Available on no_target_has_atomic or target_has_atomic="8" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicI8

Available on no_target_has_atomic or target_has_atomic="8" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicI16

Available on no_target_has_atomic or target_has_atomic="16" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicI32

Available on no_target_has_atomic or target_has_atomic="32" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicI64

Available on no_target_has_atomic or target_has_atomic="64" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicIsize

Available on no_target_has_atomic or target_has_atomic="ptr" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicU8

Available on no_target_has_atomic or target_has_atomic="8" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicU16

Available on no_target_has_atomic or target_has_atomic="16" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicU32

Available on no_target_has_atomic or target_has_atomic="32" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicU64

Available on no_target_has_atomic or target_has_atomic="64" only.
source§

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

source§

impl<'de> Deserialize<'de> for AtomicUsize

Available on no_target_has_atomic or target_has_atomic="ptr" only.
source§

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

source§

impl<'de> Deserialize<'de> for Duration

source§

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

source§

impl<'de> Deserialize<'de> for OsString

Available on crate feature std and (Unix or Windows) only.
source§

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

source§

impl<'de> Deserialize<'de> for PathBuf

Available on crate feature std only.
source§

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

source§

impl<'de> Deserialize<'de> for SystemTime

Available on crate feature std only.
source§

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

source§

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

source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<&'a [u8], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

source§

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

source§

impl<'de, Idx> Deserialize<'de> for RangeFrom<Idx>
where Idx: Deserialize<'de>,

source§

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

source§

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

source§

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

source§

impl<'de, Idx> Deserialize<'de> for RangeTo<Idx>
where Idx: Deserialize<'de>,

source§

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

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

Available on crate feature std only.
source§

fn deserialize<D>( deserializer: D ) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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>,

source§

fn deserialize<D>( deserializer: D ) -> Result<(T0, T1, T2, T3), <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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>,

source§

fn deserialize<D>( deserializer: D ) -> Result<(T0, T1, T2, T3, T4), <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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>,

source§

fn deserialize<D>( deserializer: D ) -> Result<(T0, T1, T2, T3, T4, T5), <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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>,

source§

fn deserialize<D>( deserializer: D ) -> Result<(T0, T1, T2, T3, T4, T5, T6), <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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>,

source§

fn deserialize<D>( deserializer: D ) -> Result<(T0, T1, T2, T3, T4, T5, T6, T7), <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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>,

source§

fn deserialize<D>( deserializer: D ) -> Result<(T0, T1, T2, T3, T4, T5, T6, T7, T8), <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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>,

source§

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>, T2: Deserialize<'de>, T3: Deserialize<'de>, T4: Deserialize<'de>, T5: Deserialize<'de>, T6: Deserialize<'de>, T7: Deserialize<'de>, T8: Deserialize<'de>, T9: Deserialize<'de>, T10: Deserialize<'de>,

source§

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>, T2: Deserialize<'de>, T3: Deserialize<'de>, T4: Deserialize<'de>, T5: Deserialize<'de>, T6: Deserialize<'de>, T7: Deserialize<'de>, T8: Deserialize<'de>, T9: Deserialize<'de>, T10: Deserialize<'de>, T11: Deserialize<'de>,

source§

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>, T2: Deserialize<'de>, T3: Deserialize<'de>, T4: Deserialize<'de>, T5: Deserialize<'de>, T6: Deserialize<'de>, T7: Deserialize<'de>, T8: Deserialize<'de>, T9: Deserialize<'de>, T10: Deserialize<'de>, T11: Deserialize<'de>, T12: Deserialize<'de>,

source§

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>, T2: Deserialize<'de>, T3: Deserialize<'de>, T4: Deserialize<'de>, T5: Deserialize<'de>, T6: Deserialize<'de>, T7: Deserialize<'de>, T8: Deserialize<'de>, T9: Deserialize<'de>, T10: Deserialize<'de>, T11: Deserialize<'de>, T12: Deserialize<'de>, T13: Deserialize<'de>,

source§

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>, T2: Deserialize<'de>, T3: Deserialize<'de>, T4: Deserialize<'de>, T5: Deserialize<'de>, T6: Deserialize<'de>, T7: Deserialize<'de>, T8: Deserialize<'de>, T9: Deserialize<'de>, T10: Deserialize<'de>, T11: Deserialize<'de>, T12: Deserialize<'de>, T13: Deserialize<'de>, T14: Deserialize<'de>,

source§

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>, T2: Deserialize<'de>, T3: Deserialize<'de>, T4: Deserialize<'de>, T5: Deserialize<'de>, T6: Deserialize<'de>, T7: Deserialize<'de>, T8: Deserialize<'de>, T9: Deserialize<'de>, T10: Deserialize<'de>, T11: Deserialize<'de>, T12: Deserialize<'de>, T13: Deserialize<'de>, T14: Deserialize<'de>, T15: Deserialize<'de>,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 0], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 1], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 2], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 3], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 4], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 5], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 6], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 7], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 8], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 9], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 10], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 11], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 12], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 13], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 14], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 15], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 16], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 17], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 18], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 19], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 20], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 21], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 22], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 23], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 24], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 25], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 26], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 27], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 28], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 29], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 30], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 31], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

source§

fn deserialize<D>( deserializer: D ) -> Result<[T; 32], <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

Available on crate features std or alloc only.
source§

fn deserialize<D>( deserializer: D ) -> Result<Box<[T]>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

Available on crate features std or alloc only.
source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

Available on crate feature std only.
source§

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

source§

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

source§

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

source§

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

Available on crate feature std only.
source§

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

Implementors§

source§

impl<'de> Deserialize<'de> for Parity

Available on crate feature serde only.

The parity is deserialized as u8 - 0 for even, 1 for odd.

source§

impl<'de> Deserialize<'de> for SharedSecret

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for secp256k1_zkp::ecdsa::Signature

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for secp256k1_zkp::schnorr::Signature

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for EcdsaAdaptorSignature

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for Generator

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for Keypair

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for PedersenCommitment

Available on crate features std and serde only.
source§

impl<'de> Deserialize<'de> for PublicKey

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for RangeProof

Available on crate features serde and hashes and std only.
source§

impl<'de> Deserialize<'de> for SecretKey

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for SurjectionProof

Available on crate features serde and hashes and std only.
source§

impl<'de> Deserialize<'de> for Tweak

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for WhitelistSignature

Available on crate features serde and std only.
source§

impl<'de> Deserialize<'de> for XOnlyPublicKey

Available on crate feature serde only.
source§

impl<'de> Deserialize<'de> for IgnoredAny