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.

Object Safety§

This trait is not object safe.

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 AsOwned
where 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 + ?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<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<NonZero<i8>>, D> for Niche

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<D: Fallible + ?Sized> DeserializeWith<ArchivedOptionNonZeroU128, Option<NonZero<u128>>, 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 Lock
where F: Deserialize<T, D>, D: Fallible + ?Sized,

source§

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

source§

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

source§

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

source§

impl<F: Archive, D: Fallible + ?Sized> DeserializeWith<UnsafeCell<<F as Archive>::Archived>, UnsafeCell<F>, D> for Unsafe
where 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>, 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, D> DeserializeWith<ArchivedVec<Entry<<K as Archive>::Archived, <V as Archive>::Archived>>, HashMap<K, V>, D> for AsVec
where 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]>, D> for CopyOptimize
where T: Archive, 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<ArchivedVec<<T as Archive>::Archived>, Vec<T>, D> for CopyOptimize
where T: Archive, T::Archived: Deserialize<T, D>, D: Fallible + ?Sized,

source§

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

source§

impl<T, D> DeserializeWith<RawArchivedVec<<T as Archive>::Archived>, Vec<T>, D> for Raw
where 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 AsOwned
where T::Archived: Deserialize<T, D>,