Trait Decode

Source
pub trait Decode<'a>: Sized { }
Expand description

A type which can be decoded from bytes with decode.

Use #[derive(Decode)] to implement.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a> Decode<'a> for &'a str

Source§

impl<'a> Decode<'a> for IpAddr

Available on crate feature std only.
Source§

impl<'a> Decode<'a> for SocketAddr

Available on crate feature std only.
Source§

impl<'a> Decode<'a> for bool

Source§

impl<'a> Decode<'a> for char

Source§

impl<'a> Decode<'a> for f32

Source§

impl<'a> Decode<'a> for f64

Source§

impl<'a> Decode<'a> for i8

Source§

impl<'a> Decode<'a> for i16

Source§

impl<'a> Decode<'a> for i32

Source§

impl<'a> Decode<'a> for i64

Source§

impl<'a> Decode<'a> for i128

Source§

impl<'a> Decode<'a> for isize

Source§

impl<'a> Decode<'a> for u8

Source§

impl<'a> Decode<'a> for u16

Source§

impl<'a> Decode<'a> for u32

Source§

impl<'a> Decode<'a> for u64

Source§

impl<'a> Decode<'a> for u128

Source§

impl<'a> Decode<'a> for ()

Source§

impl<'a> Decode<'a> for usize

Source§

impl<'a> Decode<'a> for Box<str>

Source§

impl<'a> Decode<'a> for Rc<str>

Source§

impl<'a> Decode<'a> for String

Source§

impl<'a> Decode<'a> for Arc<str>

Source§

impl<'a> Decode<'a> for Ipv4Addr

Available on crate feature std only.
Source§

impl<'a> Decode<'a> for Ipv6Addr

Available on crate feature std only.
Source§

impl<'a> Decode<'a> for SocketAddrV4

Available on crate feature std only.
Source§

impl<'a> Decode<'a> for SocketAddrV6

Available on crate feature std only.
Source§

impl<'a> Decode<'a> for AtomicBool

Available on target_has_atomic="8" only.
Source§

impl<'a> Decode<'a> for AtomicI8

Available on target_has_atomic="8" only.
Source§

impl<'a> Decode<'a> for AtomicI16

Available on target_has_atomic="16" only.
Source§

impl<'a> Decode<'a> for AtomicI32

Available on target_has_atomic="32" only.
Source§

impl<'a> Decode<'a> for AtomicI64

Available on target_has_atomic="64" only.
Source§

impl<'a> Decode<'a> for AtomicIsize

Available on target_has_atomic="ptr" only.
Source§

impl<'a> Decode<'a> for AtomicU8

Available on target_has_atomic="8" only.
Source§

impl<'a> Decode<'a> for AtomicU16

Available on target_has_atomic="16" only.
Source§

impl<'a> Decode<'a> for AtomicU32

Available on target_has_atomic="32" only.
Source§

impl<'a> Decode<'a> for AtomicU64

Available on target_has_atomic="64" only.
Source§

impl<'a> Decode<'a> for AtomicUsize

Available on target_has_atomic="ptr" only.
Source§

impl<'a> Decode<'a> for Duration

Source§

impl<'a> Decode<'a> for NonZeroI8

Source§

impl<'a> Decode<'a> for NonZeroI16

Source§

impl<'a> Decode<'a> for NonZeroI32

Source§

impl<'a> Decode<'a> for NonZeroI64

Source§

impl<'a> Decode<'a> for NonZeroI128

Source§

impl<'a> Decode<'a> for NonZeroIsize

Source§

impl<'a> Decode<'a> for NonZeroU8

Source§

impl<'a> Decode<'a> for NonZeroU16

Source§

impl<'a> Decode<'a> for NonZeroU32

Source§

impl<'a> Decode<'a> for NonZeroU64

Source§

impl<'a> Decode<'a> for NonZeroU128

Source§

impl<'a> Decode<'a> for NonZeroUsize

Source§

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

Available on crate feature std only.
Source§

impl<'a, K: Decode<'a> + Ord, V: Decode<'a>> Decode<'a> for BTreeMap<K, V>

Source§

impl<'a, T0: Decode<'a>> Decode<'a> for (T0,)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>> Decode<'a> for (T0, T1)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>> Decode<'a> for (T0, T1, T2)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>> Decode<'a> for (T0, T1, T2, T3)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>, T6: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5, T6)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>, T6: Decode<'a>, T7: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>, T6: Decode<'a>, T7: Decode<'a>, T8: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>, T6: Decode<'a>, T7: Decode<'a>, T8: Decode<'a>, T9: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>, T6: Decode<'a>, T7: Decode<'a>, T8: Decode<'a>, T9: Decode<'a>, T10: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>, T6: Decode<'a>, T7: Decode<'a>, T8: Decode<'a>, T9: Decode<'a>, T10: Decode<'a>, T11: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<'a, T0: Decode<'a>, T1: Decode<'a>, T2: Decode<'a>, T3: Decode<'a>, T4: Decode<'a>, T5: Decode<'a>, T6: Decode<'a>, T7: Decode<'a>, T8: Decode<'a>, T9: Decode<'a>, T10: Decode<'a>, T11: Decode<'a>, T12: Decode<'a>> Decode<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

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

Source§

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

Source§

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

Source§

impl<'a, T> Decode<'a> for PhantomData<T>

Source§

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

Available on crate feature std only.
Source§

impl<'a, T: Decode<'a> + Ord> Decode<'a> for BinaryHeap<T>

Source§

impl<'a, T: Decode<'a> + Ord> Decode<'a> for BTreeSet<T>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Option<T>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Box<[T]>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Box<T>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for LinkedList<T>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for VecDeque<T>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Rc<[T]>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Rc<T>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Arc<[T]>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Arc<T>

Source§

impl<'a, T: Decode<'a>> Decode<'a> for Vec<T>

Source§

impl<'a, T: Decode<'a>, E: Decode<'a>> Decode<'a> for Result<T, E>

Source§

impl<'a, T: Decode<'a>, const N: usize> Decode<'a> for [T; N]

Implementors§