Skip to main content

DeserializeWith

Trait DeserializeWith 

Source
pub trait DeserializeWith<F: ?Sized, T, D: Fallible + ?Sized> {
    // Required method
    fn deserialize_with(field: &F, deserializer: &mut D) -> Result<T, D::Error>;
}
Expand description

A variant of Deserialize for “with” types.

See ArchiveWith for more details.

Required Methods§

Source

fn deserialize_with(field: &F, deserializer: &mut D) -> Result<T, D::Error>

Deserializes the field type F using the given deserializer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a, D> DeserializeWith<ArchivedCString, Cow<'a, CStr>, D> for AsOwned
where D: Fallible + ?Sized, D::Error: Source,

Source§

impl<'a, D> DeserializeWith<ArchivedString, Cow<'a, str>, D> for AsOwned
where D: Fallible + ?Sized,

Source§

impl<'a, T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Cow<'a, [T]>, D> for AsOwned
where T: Archive + Clone, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized, D::Error: Source,

Source§

impl<A, B, K, V, D, S> DeserializeWith<ArchivedHashMap<<A as ArchiveWith<K>>::Archived, <B as ArchiveWith<V>>::Archived>, HashMap<K, V, S>, D> for MapKV<A, B>
where A: ArchiveWith<K> + DeserializeWith<<A as ArchiveWith<K>>::Archived, K, D>, B: ArchiveWith<V> + DeserializeWith<<B as ArchiveWith<V>>::Archived, V, D>, K: Hash + Eq, D: Fallible + ?Sized, S: Default + BuildHasher,

Source§

impl<A, B, K, V, D> DeserializeWith<ArchivedBTreeMap<<A as ArchiveWith<K>>::Archived, <B as ArchiveWith<V>>::Archived>, BTreeMap<K, V>, D> for MapKV<A, B>
where A: ArchiveWith<K> + DeserializeWith<<A as ArchiveWith<K>>::Archived, K, D>, B: ArchiveWith<V> + DeserializeWith<<B as ArchiveWith<V>>::Archived, V, D>, K: Ord, D: Fallible + ?Sized,

Source§

impl<A, O, D> DeserializeWith<ArchivedOption<<A as ArchiveWith<O>>::Archived>, Option<O>, D> for Map<A>
where D: Fallible + ?Sized, A: ArchiveWith<O> + DeserializeWith<<A as ArchiveWith<O>>::Archived, O, D>,

Source§

impl<A, O, D> DeserializeWith<ArchivedVec<<A as ArchiveWith<O>>::Archived>, Vec<O>, D> for Map<A>
where A: ArchiveWith<O> + DeserializeWith<<A as ArchiveWith<O>>::Archived, O, D>, D: Fallible + ?Sized,

Source§

impl<A, T, D> DeserializeWith<A, Arc<T>, D> for Unshare
where A: Deserialize<T, D>, D: Fallible + ?Sized,

Available on target_has_atomic=ptr only.
Source§

impl<A, T, D> DeserializeWith<A, Rc<T>, D> for Unshare
where A: Deserialize<T, D>, D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<bool, Atomic<bool>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i8, Atomic<i8>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i16_be, AtomicI16_be, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i16_le, AtomicI16_le, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i16_ule, Atomic<i16>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i32_ule, Atomic<i32>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i32_ule, Atomic<isize>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i32_ule, AtomicI32_be, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i32_ule, AtomicI32_le, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i64_ule, Atomic<i64>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i64_ule, AtomicI64_be, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<i64_ule, AtomicI64_le, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u8, Atomic<u8>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u16_be, AtomicU16_be, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u16_le, AtomicU16_le, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u16_ule, Atomic<u16>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u32_ule, Atomic<u32>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u32_ule, Atomic<usize>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u32_ule, AtomicU32_be, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u32_ule, AtomicU32_le, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u64_ule, Atomic<u64>, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u64_ule, AtomicU64_be, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, SO> DeserializeWith<u64_ule, AtomicU64_le, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

Source§

impl<D, const A: usize> DeserializeWith<ArchivedVec<u8>, AlignedVec<A>, D> for AsVec
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedDuration, SystemTime, D> for AsUnixTime
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroI8, Option<NonZero<i8>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroI16, Option<NonZero<i16>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroI32, Option<NonZero<i32>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroI32, Option<NonZero<isize>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroI64, Option<NonZero<i64>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroI128, Option<NonZero<i128>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroU8, Option<NonZero<u8>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroU16, Option<NonZero<u16>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroU32, Option<NonZero<u32>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroU32, Option<NonZero<usize>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroU64, Option<NonZero<u64>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedOptionNonZeroU128, Option<NonZero<u128>>, D> for Niche
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedString, OsString, D> for AsString
where D: Fallible + ?Sized,

Source§

impl<D> DeserializeWith<ArchivedString, PathBuf, D> for AsString
where D: Fallible + ?Sized,

Source§

impl<F, D> DeserializeWith<<F as Archive>::Archived, Cell<F>, D> for Unsafe
where F: Archive, F::Archived: Deserialize<F, D>, D: Fallible + ?Sized,

Source§

impl<F, D> DeserializeWith<<F as Archive>::Archived, UnsafeCell<F>, D> for Unsafe
where F: Archive, F::Archived: Deserialize<F, D>, D: Fallible + ?Sized,

Source§

impl<F, D> DeserializeWith<ArchivedBox<<F as Archive>::Archived>, F, D> for AsBox
where F: Archive, F::Archived: Deserialize<F, D>, D: Fallible + ?Sized,

Source§

impl<F, T, D> DeserializeWith<F, Mutex<T>, D> for Lock
where F: Deserialize<T, D>, D: Fallible + ?Sized,

Source§

impl<F, T, D> DeserializeWith<F, RwLock<T>, D> for Lock
where F: Deserialize<T, D>, D: Fallible + ?Sized,

Source§

impl<F, T, D> DeserializeWith<F, T, D> for Identity
where F: Deserialize<T, D>, D: Fallible + ?Sized,

Source§

impl<F: Default, D: Fallible + ?Sized> DeserializeWith<(), F, D> for Skip

Source§

impl<K, V, D> DeserializeWith<ArchivedVec<Entry<<K as Archive>::Archived, <V as Archive>::Archived>>, BTreeMap<K, V>, D> for AsVec
where K: Archive + Ord, V: Archive, K::Archived: Deserialize<K, D>, V::Archived: Deserialize<V, D>, D: Fallible + ?Sized,

Source§

impl<K, V, H, D> DeserializeWith<ArchivedVec<Entry<<K as Archive>::Archived, <V as Archive>::Archived>>, HashMap<K, V, H>, D> for AsVec
where K: Archive + Hash + Eq, V: Archive, K::Archived: Deserialize<K, D>, V::Archived: Deserialize<V, D>, H: BuildHasher + Default, D: Fallible + ?Sized,

Source§

impl<O, A, D, const N: usize> DeserializeWith<[<A as ArchiveWith<O>>::Archived; N], [O; N], D> for Map<A>
where D: Fallible + ?Sized, A: ArchiveWith<O> + DeserializeWith<A::Archived, O, D>,

Source§

impl<T, D> DeserializeWith<<T as Archive>::Archived, T, D> for AsOwned
where T: Archive + Clone, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized,

Source§

impl<T, D> DeserializeWith<ArchivedOptionBox<<T as ArchiveUnsized>::Archived>, Option<Box<T>>, D> for Niche

Source§

impl<T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, BTreeSet<T>, D> for AsVec
where T: Archive + Ord, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized,

Source§

impl<T, D> DeserializeWith<NichedOption<<T as Archive>::Archived, DefaultNiche>, Option<T>, D> for DefaultNiche
where T: Archive<Archived: Deserialize<T, D>>, Self: Niching<T::Archived>, D: Fallible + ?Sized,

Source§

impl<T, H, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, HashSet<T, H>, D> for AsVec
where T: Archive + Hash + Eq, T::Archived: Deserialize<T, D>, H: BuildHasher + Default, D: Fallible + ?Sized,

Source§

impl<T, N, D> DeserializeWith<NichedOption<<T as Archive>::Archived, N>, Option<T>, D> for NicheInto<N>
where T: Archive<Archived: Deserialize<T, D>>, N: Niching<T::Archived> + ?Sized, D: Fallible + ?Sized,

Source§

impl<T, W, N, D> DeserializeWith<NichedOption<<W as ArchiveWith<T>>::Archived, N>, Option<T>, D> for MapNiche<W, N>
where W: ArchiveWith<T> + DeserializeWith<<W as ArchiveWith<T>>::Archived, T, D>, N: Niching<<W as ArchiveWith<T>>::Archived> + ?Sized, D: Fallible + ?Sized,