Trait musli::Decode

source ·
pub trait Decode<'de, M>: Sized {
    // Required method
    fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
       where D: Decoder<'de, Mode = M>;
}
Expand description

Trait governing how types are decoded.

This is typically implemented automatically using the Decode derive.

§Examples

use musli::Decode;

#[derive(Decode)]
struct MyType {
    data: [u8; 128],
}

Implementing manually:

use musli::{Decode, Decoder};

struct MyType {
    data: [u8; 128],
}

impl<'de, M> Decode<'de, M> for MyType {
    fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
    where
        D: Decoder<'de>,
    {
        Ok(Self {
            data: decoder.decode_array()?,
        })
    }
}

Required Methods§

source

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

Decode the given input.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

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

Available on crate feature alloc only.
source§

fn decode<D>(_cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

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

Available on crate features alloc and std only.
source§

fn decode<D>(_cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for &'de str

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for &'de CStr

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for &'de [u8]

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for Cow<'de, str>

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Cow<'de, CStr>

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for IpAddr

Available on crate feature std only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for SocketAddr

Available on crate feature std only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for bool

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for char

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for f32

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for f64

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for i8

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for i16

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for i32

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for i64

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for i128

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for isize

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for u8

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for u16

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for u32

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for u64

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for u128

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for ()

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for usize

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for Box<str>

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Box<CStr>

Available on crate feature alloc only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Box<OsStr>

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

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Box<Path>

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

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for CString

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for Rc<CStr>

Available on crate feature alloc only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Rc<OsStr>

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

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Rc<Path>

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

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for String

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Arc<CStr>

Available on crate feature alloc only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Arc<OsStr>

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

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Arc<Path>

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

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for Ipv4Addr

Available on crate feature std only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for Ipv6Addr

Available on crate feature std only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for SocketAddrV4

Available on crate feature std only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for SocketAddrV6

Available on crate feature std only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for RangeFull

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M> Decode<'de, M> for AtomicBool

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicI8

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicI16

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicI32

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicI64

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicIsize

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicU8

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicU16

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicU32

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicU64

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for AtomicUsize

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for OsString

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

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for PathBuf

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

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroI8

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroI16

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroI32

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroI64

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroI128

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroIsize

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroU8

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroU16

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroU32

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroU64

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroU128

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M> Decode<'de, M> for NonZeroUsize

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

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

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T1: Decode<'de, M>, T2: Decode<'de, M>, T3: Decode<'de, M>, T4: Decode<'de, M>, T5: Decode<'de, M>, T6: Decode<'de, M>, T7: Decode<'de, M>, T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T2: Decode<'de, M>, T3: Decode<'de, M>, T4: Decode<'de, M>, T5: Decode<'de, M>, T6: Decode<'de, M>, T7: Decode<'de, M>, T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T3: Decode<'de, M>, T4: Decode<'de, M>, T5: Decode<'de, M>, T6: Decode<'de, M>, T7: Decode<'de, M>, T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T4: Decode<'de, M>, T5: Decode<'de, M>, T6: Decode<'de, M>, T7: Decode<'de, M>, T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T5: Decode<'de, M>, T6: Decode<'de, M>, T7: Decode<'de, M>, T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T6: Decode<'de, M>, T7: Decode<'de, M>, T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T7: Decode<'de, M>, T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T8, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T8, T9, T10, T11, T12, T13, T14, T15)
where T8: Decode<'de, M>, T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T9, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T9, T10, T11, T12, T13, T14, T15)
where T9: Decode<'de, M>, T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T10, T11, T12, T13, T14, T15> Decode<'de, M> for (T10, T11, T12, T13, T14, T15)
where T10: Decode<'de, M>, T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T11, T12, T13, T14, T15> Decode<'de, M> for (T11, T12, T13, T14, T15)
where T11: Decode<'de, M>, T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T12, T13, T14, T15> Decode<'de, M> for (T12, T13, T14, T15)
where T12: Decode<'de, M>, T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T13, T14, T15> Decode<'de, M> for (T13, T14, T15)
where T13: Decode<'de, M>, T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T14, T15> Decode<'de, M> for (T14, T15)
where T14: Decode<'de, M>, T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T15> Decode<'de, M> for (T15,)
where T15: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for Option<T>
where T: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

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

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for Box<T>
where T: Decode<'de, M>,

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

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

Available on crate feature alloc only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for BTreeSet<T>
where T: Decode<'de, M> + Ord,

Available on crate feature alloc only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for VecDeque<T>
where T: Decode<'de, M>,

Available on crate feature alloc only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for Rc<T>
where T: Decode<'de, M>,

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for Arc<T>
where T: Decode<'de, M>,

Available on crate feature alloc only.
source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for Vec<T>
where T: Decode<'de, M>,

Available on crate feature alloc only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for PhantomData<T>

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de>,

source§

impl<'de, M, T> Decode<'de, M> for Wrapping<T>
where T: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for Range<T>
where T: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for RangeFrom<T>
where T: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for RangeInclusive<T>
where T: Decode<'de, M>,

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for RangeTo<T>
where T: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T> Decode<'de, M> for RangeToInclusive<T>
where T: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

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

Available on crate features alloc and std only.
source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T, U> Decode<'de, M> for Result<T, U>
where T: Decode<'de, M>, U: Decode<'de, M>,

source§

fn decode<D>(_: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

source§

impl<'de, M, T, const N: usize> Decode<'de, M> for [T; N]
where T: Decode<'de, M>,

source§

fn decode<D>(cx: &D::Cx, decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M>,

Implementors§

source§

impl<'de, M> Decode<'de, M> for Sequence<()>

source§

impl<'de, T, M> Decode<'de, M> for Bytes<T>
where T: EncodeBytes<M> + DecodeBytes<'de, M>,

source§

impl<'de, T, M> Decode<'de, M> for Packed<T>
where T: EncodePacked<M> + DecodePacked<'de, M>,