Trait rkyv::with::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§
Object Safety§
This trait is not object safe.
Implementors§
impl<'a, D> DeserializeWith<ArchivedCString, Cow<'a, CStr>, D> for AsOwned
Available on crate feature
std
only.impl<'a, D> DeserializeWith<ArchivedString, Cow<'a, str>, D> for AsOwned
Available on crate feature
alloc
only.impl<'a, T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, Cow<'a, [T]>, D> for AsOwned
Available on crate feature
alloc
only.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,
Available on crate feature
alloc
only.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,
Available on crate feature
std
only.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,
Available on crate feature
alloc
only.impl<D> DeserializeWith<ArchivedOptionNonZeroI8, Option<NonZero<i8>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroI16, Option<NonZero<i16>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroI32, Option<NonZero<i32>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroI32, Option<NonZero<isize>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroI64, Option<NonZero<i64>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroI128, Option<NonZero<i128>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroU8, Option<NonZero<u8>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroU16, Option<NonZero<u16>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroU32, Option<NonZero<u32>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroU32, Option<NonZero<usize>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroU64, Option<NonZero<u64>>, D> for Niche
impl<D> DeserializeWith<ArchivedOptionNonZeroU128, Option<NonZero<u128>>, D> for Niche
impl<D> DeserializeWith<ArchivedString, OsString, D> for AsString
Available on crate feature
std
only.impl<D> DeserializeWith<ArchivedString, PathBuf, D> for AsString
Available on crate feature
std
only.impl<D> DeserializeWith<ArchivedDuration, SystemTime, D> for AsUnixTime
Available on crate feature
std
only.impl<D, SO> DeserializeWith<bool, AtomicBool, D> for AtomicLoad<SO>
Available on
target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
only.impl<D, SO> DeserializeWith<i8, AtomicI8, D> for AtomicLoad<SO>
Available on
target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
only.impl<D, SO> DeserializeWith<u8, AtomicU8, D> for AtomicLoad<SO>
Available on
target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
only.impl<D, SO> DeserializeWith<i16_be, AtomicI16_be, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i16_le, AtomicI16, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i16_le, AtomicI16_le, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i32_le, AtomicI32, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i32_le, AtomicIsize, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i32_le, AtomicI32_be, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i32_le, AtomicI32_le, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i64_le, AtomicI64, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i64_le, AtomicI64_be, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<i64_le, AtomicI64_le, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u16_be, AtomicU16_be, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u16_le, AtomicU16, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u16_le, AtomicU16_le, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u32_le, AtomicU32, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u32_le, AtomicUsize, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u32_le, AtomicU32_be, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u32_le, AtomicU32_le, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u64_le, AtomicU64, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u64_le, AtomicU64_be, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, SO> DeserializeWith<u64_le, AtomicU64_le, D> for AtomicLoad<SO>
Available on (
target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) and (target_has_atomic="8"
or target_has_atomic="16"
or target_has_atomic="32"
or target_has_atomic="64"
) only.impl<D, const A: usize> DeserializeWith<ArchivedVec<u8>, AlignedVec<A>, D> for AsVec
Available on crate feature
alloc
only.impl<F, D> DeserializeWith<<F as Archive>::Archived, Cell<F>, D> for Unsafe
impl<F, D> DeserializeWith<<F as Archive>::Archived, UnsafeCell<F>, D> for Unsafe
impl<F, D> DeserializeWith<ArchivedBox<<F as Archive>::Archived>, F, D> for AsBox
impl<F, T, D> DeserializeWith<F, Mutex<T>, D> for Lock
Available on crate feature
std
only.impl<F, T, D> DeserializeWith<F, RwLock<T>, D> for Lock
Available on crate feature
std
only.impl<F, T, D> DeserializeWith<F, T, D> for Identity
impl<F: Default, D: Fallible + ?Sized> DeserializeWith<(), F, D> for Skip
impl<K, V, D> DeserializeWith<ArchivedVec<Entry<<K as Archive>::Archived, <V as Archive>::Archived>>, BTreeMap<K, V>, D> for AsVecwhere
K: Archive + Ord,
V: Archive,
K::Archived: Deserialize<K, D>,
V::Archived: Deserialize<V, D>,
D: Fallible + ?Sized,
Available on crate feature
alloc
only.impl<K, V, H, D> DeserializeWith<ArchivedVec<Entry<<K as Archive>::Archived, <V as Archive>::Archived>>, HashMap<K, V, H>, D> for AsVecwhere
K: Archive + Hash + Eq,
V: Archive,
K::Archived: Deserialize<K, D>,
V::Archived: Deserialize<V, D>,
H: BuildHasher + Default,
D: Fallible + ?Sized,
Available on crate feature
std
only.impl<T, D> DeserializeWith<<T as Archive>::Archived, T, D> for AsOwned
Available on crate feature
alloc
only.impl<T, D> DeserializeWith<ArchivedOptionBox<<T as ArchiveUnsized>::Archived>, Option<Box<T>>, D> for Nichewhere
T: ArchiveUnsized + LayoutRaw + Pointee + ?Sized,
T::Archived: DeserializeUnsized<T, D>,
D: Fallible + ?Sized,
D::Error: Source,
Available on crate feature
alloc
only.impl<T, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, BTreeSet<T>, D> for AsVec
Available on crate feature
alloc
only.impl<T, H, D> DeserializeWith<ArchivedVec<<T as Archive>::Archived>, HashSet<T, H>, D> for AsVecwhere
T: Archive + Hash + Eq,
T::Archived: Deserialize<T, D>,
H: BuildHasher + Default,
D: Fallible + ?Sized,
Available on crate feature
std
only.