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 that works with With wrappers.

Required Methods§

source

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

Deserializes the field type F using the given deserializer.

Implementors§

source§

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

source§

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

source§

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

source§

impl<A, O, D> DeserializeWith<ArchivedOption<<A as ArchiveWith<O>>::Archived>, Option<O>, D> for Map<A>where D: Fallible, 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, Global>, D> for Map<A>where A: ArchiveWith<O> + DeserializeWith<<A as ArchiveWith<O>>::Archived, O, D>, D: Fallible,

source§

impl<D: Fallible + ?Sized> DeserializeWith<<Atomic as ArchiveWith<AtomicU32>>::Archived, AtomicUsize, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<<With<AtomicI16, Atomic> as Archive>::Archived, AtomicI16, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<<With<AtomicI32, Atomic> as Archive>::Archived, AtomicI32, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<<With<AtomicI64, Atomic> as Archive>::Archived, AtomicI64, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<<With<AtomicIsize, Atomic> as Archive>::Archived, AtomicIsize, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<<With<AtomicU16, Atomic> as Archive>::Archived, AtomicU16, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<<With<AtomicU32, Atomic> as Archive>::Archived, AtomicU32, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<<With<AtomicU64, Atomic> as Archive>::Archived, AtomicU64, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroI8, Option<NonZeroI8>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroI16, Option<NonZeroI16>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroI32, Option<NonZeroI32>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroI32, Option<NonZeroIsize>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroI64, Option<NonZeroI64>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroI128, Option<NonZeroI128>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroU8, Option<NonZeroU8>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroU16, Option<NonZeroU16>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroU32, Option<NonZeroU32>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroU32, Option<NonZeroUsize>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroU64, Option<NonZeroU64>, D> for Niche

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroU128, Option<NonZeroU128>, D> for Niche

source§

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

source§

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

source§

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

source§

impl<D: Fallible + ?Sized> DeserializeWith<AtomicBool, AtomicBool, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<AtomicI8, AtomicI8, D> for Atomic

source§

impl<D: Fallible + ?Sized> DeserializeWith<AtomicU8, AtomicU8, D> for Atomic

source§

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

source§

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

source§

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

source§

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

source§

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

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, Global>, D> for AsVecwhere K: Archive + Ord, V: Archive, K::Archived: Deserialize<K, D>, V::Archived: Deserialize<V, D>, D: Fallible + ?Sized,

source§

impl<K, V, D> DeserializeWith<ArchivedVec<Entry<<K as Archive>::Archived, <V as Archive>::Archived>>, HashMap<K, V, RandomState>, D> for AsVecwhere K: Archive + Hash + Eq, V: Archive, K::Archived: Deserialize<K, D>, V::Archived: Deserialize<V, D>, D: Fallible + ?Sized,

source§

impl<T, D> DeserializeWith<ArchivedBox<[<T as Archive>::Archived]>, Box<[T], Global>, D> for CopyOptimizewhere T: Archive, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized,

source§

impl<T, D> DeserializeWith<ArchivedOptionBox<<T as ArchiveUnsized>::Archived>, Option<Box<T, Global>>, D> for Nichewhere T: ArchiveUnsized + ?Sized, T::Archived: DeserializeUnsized<T, D>, D: Fallible + ?Sized,

source§

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

source§

impl<T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Vec<T, Global>, D> for CopyOptimizewhere T: Archive, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized,

source§

impl<T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, HashSet<T, RandomState>, D> for AsVecwhere T: Archive + Hash + Eq, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized,

source§

impl<T, D> DeserializeWith<RawArchivedVec<<T as Archive>::Archived>, Vec<T, Global>, D> for Rawwhere T: Archive, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized,

source§

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