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 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.

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.

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, T: Archive + Clone, D: Fallible + ?Sized> DeserializeWith<<T as Archive>::Archived, T, D> for AsOwned
where T::Archived: Deserialize<T, D>,

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>, 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<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,