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

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

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

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,

Source§

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

Source§

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