Trait rkyv::with::SerializeWith

source ·
pub trait SerializeWith<F: ?Sized, S: Fallible + ?Sized>: ArchiveWith<F> {
    // Required method
    fn serialize_with(
        field: &F,
        serializer: &mut S,
    ) -> Result<Self::Resolver, S::Error>;
}
Expand description

A variant of Serialize that works with With wrappers.

Required Methods§

source

fn serialize_with( field: &F, serializer: &mut S, ) -> Result<Self::Resolver, S::Error>

Serializes the field type F using the given serializer.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, F: Serialize<S> + Clone, S: Fallible + ?Sized> SerializeWith<Cow<'a, F>, S> for AsOwned

source§

impl<'a, S: Serializer + ?Sized> SerializeWith<Cow<'a, str>, S> for AsOwned

source§

impl<'a, S: Serializer + ?Sized> SerializeWith<Cow<'a, CStr>, S> for AsOwned

source§

impl<'a, T, S> SerializeWith<With<&'a [T], RefAsBox>, S> for CopyOptimize
where T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<'a, T: Serialize<S> + Clone, S: ScratchSpace + Serializer + ?Sized> SerializeWith<Cow<'a, [T]>, S> for AsOwned

source§

impl<A, O, S> SerializeWith<Option<O>, S> for Map<A>
where S: Fallible + ?Sized, A: ArchiveWith<O> + SerializeWith<O, S>,

source§

impl<A, O, S> SerializeWith<Vec<O>, S> for Map<A>

source§

impl<F, S: Fallible + ?Sized> SerializeWith<F, S> for Skip

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<&F, S> for Inline

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<Cell<F>, S> for Unsafe

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<UnsafeCell<F>, S> for Unsafe

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<Mutex<F>, S> for Lock
where S::Error: From<LockError>,

source§

impl<F: Serialize<S>, S: Fallible + ?Sized> SerializeWith<RwLock<F>, S> for Lock
where S::Error: From<LockError>,

source§

impl<F: SerializeUnsized<S> + ?Sized, S: Fallible + ?Sized> SerializeWith<&F, S> for RefAsBox

source§

impl<F: SerializeUnsized<S> + ?Sized, S: Fallible + ?Sized> SerializeWith<F, S> for AsBox

source§

impl<K, V, S> SerializeWith<BTreeMap<K, V>, S> for AsVec
where K: Serialize<S>, V: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,

source§

impl<K, V, S> SerializeWith<HashMap<K, V>, S> for AsVec
where K: Serialize<S>, V: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<i8>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<i16>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<i32>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<i64>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<i128>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<isize>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<u8>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<u16>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<u32>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<u64>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<u128>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<Option<NonZero<usize>>, S> for Niche

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicBool, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI8, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI16, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI32, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicI64, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicIsize, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU8, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU16, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU32, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicU64, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<AtomicUsize, S> for Atomic

source§

impl<S: Fallible + ?Sized> SerializeWith<OsString, S> for AsString

source§

impl<S: Fallible + ?Sized> SerializeWith<PathBuf, S> for AsString

source§

impl<S: Fallible + ?Sized> SerializeWith<SystemTime, S> for UnixTimestamp

source§

impl<T, S> SerializeWith<Option<Box<T>>, S> for Niche

source§

impl<T, S> SerializeWith<Box<[T]>, S> for CopyOptimize
where T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<T, S> SerializeWith<BTreeSet<T>, S> for AsVec
where T: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,

source§

impl<T, S> SerializeWith<Vec<T>, S> for CopyOptimize
where T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<T, S> SerializeWith<Vec<T>, S> for Raw
where T: Serialize<S>, S: Serializer + ?Sized,

source§

impl<T, S> SerializeWith<HashSet<T>, S> for AsVec
where T: Serialize<S>, S: ScratchSpace + Serializer + ?Sized,