devela::_dep::rkyv::with

Trait DeserializeWith

pub trait DeserializeWith<F, T, D>
where D: Fallible + ?Sized, F: ?Sized,
{ // Required method fn deserialize_with( field: &F, deserializer: &mut D, ) -> Result<T, <D as Fallible>::Error> ; }
Available on crate feature dep_rkyv only.
Expand description

A variant of Deserialize for “with” types.

See ArchiveWith for more details.

Required Methods§

fn deserialize_with( field: &F, deserializer: &mut D, ) -> Result<T, <D as Fallible>::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§

§

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

§

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

§

impl<'a, T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Cow<'a, [T]>, D> for AsOwned
where T: Archive + Clone, <T as Archive>::Archived: Deserialize<T, D>, D: Fallible + ?Sized, <D as Fallible>::Error: 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,

§

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: Ord + Hash + Eq, D: Fallible + ?Sized, S: Default + BuildHasher,

§

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: Ord + Hash + Eq, D: Fallible + ?Sized, S: Default + BuildHasher,

§

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

§

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,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<D, SO> DeserializeWith<i32_le, AtomicI32, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

§

impl<D, SO> DeserializeWith<i32_le, AtomicIsize, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

§

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

§

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

§

impl<D, SO> DeserializeWith<i64_le, AtomicI64, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

§

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

§

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

§

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

§

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

§

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

§

impl<D, SO> DeserializeWith<u32_le, AtomicU32, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

§

impl<D, SO> DeserializeWith<u32_le, AtomicUsize, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

§

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

§

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

§

impl<D, SO> DeserializeWith<u64_le, AtomicU64, D> for AtomicLoad<SO>
where D: Fallible + ?Sized,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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 as Archive>::Archived: Deserialize<K, D>, <V as Archive>::Archived: Deserialize<V, D>, H: BuildHasher + Default, D: Fallible + ?Sized,

§

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

§

impl<T, D> DeserializeWith<NichedOption<<T as Archive>::Archived, DefaultNiche>, Option<T>, D> for DefaultNiche

§

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

§

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

§

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

§

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

§

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,