Decodable in rustc_serialize::serialize - Rust (original) (raw)

pub trait Decodable<D: Decoder>: Sized {
    // Required method
    fn decode(d: &mut D) -> Self;
}

Expand description

Trait for types that can be deserialized

This can be implemented using the Decodable, TyDecodable andMetadataDecodable macros.

Required Methods§

Source

fn decode(d: &mut D) -> Self

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> Decodable<MemDecoder<'a>> for Vec<u8>

Source§

fn decode(d: &mut MemDecoder<'a>) -> Self

Source§

impl<D: Decoder> Decodable for Cow<'_, str>

Source§

fn decode(d: &mut D) -> Cow<'static, str>

Source§

impl<D: Decoder> Decodable for bool

Source§

fn decode(d: &mut D) -> bool

Source§

impl<D: Decoder> Decodable for char

Source§

fn decode(d: &mut D) -> char

Source§

impl<D: Decoder> Decodable for i8

Source§

fn decode(d: &mut D) -> i8

Source§

impl<D: Decoder> Decodable for i16

Source§

fn decode(d: &mut D) -> i16

Source§

impl<D: Decoder> Decodable for i32

Source§

fn decode(d: &mut D) -> i32

Source§

impl<D: Decoder> Decodable for i64

Source§

fn decode(d: &mut D) -> i64

Source§

impl<D: Decoder> Decodable for i128

Source§

fn decode(d: &mut D) -> i128

Source§

impl<D: Decoder> Decodable for isize

Source§

fn decode(d: &mut D) -> isize

Source§

impl<D: Decoder> Decodable for !

Source§

fn decode(_d: &mut D) -> !

Source§

impl<D: Decoder> Decodable for u8

Source§

fn decode(d: &mut D) -> u8

Source§

impl<D: Decoder> Decodable for u16

Source§

fn decode(d: &mut D) -> u16

Source§

impl<D: Decoder> Decodable for u32

Source§

fn decode(d: &mut D) -> u32

Source§

impl<D: Decoder> Decodable for u64

Source§

fn decode(d: &mut D) -> u64

Source§

impl<D: Decoder> Decodable for u128

Source§

fn decode(d: &mut D) -> u128

Source§

impl<D: Decoder> Decodable for ()

Source§

fn decode(_: &mut D)

Source§

impl<D: Decoder> Decodable for usize

Source§

fn decode(d: &mut D) -> usize

Source§

impl<D: Decoder> Decodable for Hash64

Source§

fn decode(d: &mut D) -> Self

Source§

impl<D: Decoder> Decodable for Hash128

Source§

fn decode(d: &mut D) -> Self

Source§

impl<D: Decoder> Decodable for String

Source§

fn decode(d: &mut D) -> String

Source§

impl<D: Decoder> Decodable for NonZero<u32>

Source§

fn decode(d: &mut D) -> Self

Source§

impl<D: Decoder> Decodable for PathBuf

Source§

fn decode(d: &mut D) -> PathBuf

Source§

impl<D: Decoder, A: Array<Item: Decodable>> Decodable for SmallVec

Source§

fn decode(d: &mut D) -> SmallVec

Source§

impl<D: Decoder, K, V> Decodable for BTreeMap<K, V>

Source§

fn decode(d: &mut D) -> BTreeMap<K, V>

Source§

impl<D: Decoder, K, V, S> Decodable for HashMap<K, V, S>

Source§

fn decode(d: &mut D) -> HashMap<K, V, S>

Source§

impl<D: Decoder, K, V, S> Decodable for IndexMap<K, V, S>

Source§

fn decode(d: &mut D) -> IndexMap<K, V, S>

Source§

impl<D: Decoder, T0: Decodable, T1: Decodable, T2: Decodable, T3: Decodable, T4: Decodable, T5: Decodable, T6: Decodable, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T1: Decodable, T2: Decodable> Decodable for Result<T1, T2>

Source§

fn decode(d: &mut D) -> Result<T1, T2>

Source§

impl<D: Decoder, T1: Decodable, T2: Decodable, T3: Decodable, T4: Decodable, T5: Decodable, T6: Decodable, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T2: Decodable, T3: Decodable, T4: Decodable, T5: Decodable, T6: Decodable, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T3: Decodable, T4: Decodable, T5: Decodable, T6: Decodable, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T4: Decodable, T5: Decodable, T6: Decodable, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T5: Decodable, T6: Decodable, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T5, T6, T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T5, T6, T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T6: Decodable, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T6, T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T6, T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T7: Decodable, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T7, T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T7, T8, T9, T10, T11)

Source§

impl<D: Decoder, T8: Decodable, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T8, T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T8, T9, T10, T11)

Source§

impl<D: Decoder, T9: Decodable, T10: Decodable, T11: Decodable> Decodable for (T9, T10, T11)

Source§

fn decode(d: &mut D) -> (T9, T10, T11)

Source§

impl<D: Decoder, T10: Decodable, T11: Decodable> Decodable for (T10, T11)

Source§

fn decode(d: &mut D) -> (T10, T11)

Source§

impl<D: Decoder, T11: Decodable> Decodable for (T11,)

Source§

fn decode(d: &mut D) -> (T11,)

Source§

impl<D: Decoder, T> Decodable for BTreeSet

Source§

fn decode(d: &mut D) -> BTreeSet

Source§

impl<D: Decoder, T> Decodable for PhantomData

Source§

fn decode(_: &mut D) -> PhantomData

Source§

impl<D: Decoder, T, S> Decodable for HashSet<T, S>

Source§

fn decode(d: &mut D) -> HashSet<T, S>

Source§

impl<D: Decoder, T, S> Decodable for IndexSet<T, S>

Source§

fn decode(d: &mut D) -> IndexSet<T, S>

Source§

impl<D: Decoder, T: Decodable + ToOwned> Decodable for Cow<'static, [T]>

Source§

fn decode(d: &mut D) -> Cow<'static, [T]>

Source§

impl<D: Decoder, T: Decodable + Copy> Decodable for Cell

Source§

fn decode(d: &mut D) -> Cell

Source§

impl<D: Decoder, T: Decodable> Decodable for Option

Source§

fn decode(d: &mut D) -> Option

Source§

impl<D: Decoder, T: Decodable> Decodable for Box<[T]>

Source§

fn decode(d: &mut D) -> Box<[T]>

Source§

impl<D: Decoder, T: Decodable> Decodable for Box

Source§

fn decode(d: &mut D) -> Box

Source§

impl<D: Decoder, T: Decodable> Decodable for VecDeque

Source§

fn decode(d: &mut D) -> VecDeque

Source§

impl<D: Decoder, T: Decodable> Decodable for Rc<[T]>

Source§

fn decode(d: &mut D) -> Rc<[T]>

Source§

impl<D: Decoder, T: Decodable> Decodable for Rc

Source§

fn decode(d: &mut D) -> Rc

Source§

impl<D: Decoder, T: Decodable> Decodable for Arc<[T]>

Source§

fn decode(d: &mut D) -> Arc<[T]>

Source§

impl<D: Decoder, T: Decodable> Decodable for Arc

Source§

fn decode(d: &mut D) -> Arc

Source§

impl<D: Decoder, T: Decodable> Decodable for Vec

Source§

default fn decode(d: &mut D) -> Vec

Source§

impl<D: Decoder, T: Decodable> Decodable for RefCell

Source§

fn decode(d: &mut D) -> RefCell

Source§

impl<D: Decoder, T: Decodable> Decodable for ThinVec

Source§

fn decode(d: &mut D) -> ThinVec

Source§

impl<D: Decoder, const N: usize> Decodable for [u8; N]

Source§

fn decode(d: &mut D) -> [u8; N]

Implementors§

Source§

impl<'a> Decodable<MemDecoder<'a>> for IntEncodedWithFixedSize