pub trait Serialize<S: Fallible + ?Sized>: Archive {
// Required method
fn serialize(&self, serializer: &mut S) -> Result<Self::Resolver, S::Error>;
}Expand description
Converts a type to its archived form.
Objects perform any supportive serialization during
serialize. For types that reference nonlocal
(pointed-to) data, this is when that data must be serialized to the output.
These types will need to bound S to implement
Writer and any other required traits (e.g.
Sharing). They should then serialize their
dependencies during serialize.
See Archive for examples of implementing Serialize.
Required Methods§
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.
Implementations on Foreign Types§
Source§impl<K, V, S, RandomState> Serialize<S> for HashMap<K, V, RandomState>
Available on crate feature std only.
impl<K, V, S, RandomState> Serialize<S> for HashMap<K, V, RandomState>
Available on crate feature
std only.Source§impl<S: Fallible + Writer + ?Sized> Serialize<S> for CString
Available on crate feature alloc only.
impl<S: Fallible + Writer + ?Sized> Serialize<S> for CString
Available on crate feature
alloc only.Source§impl<T0, T1, T2, S> Serialize<S> for (T0, T1, T2)
impl<T0, T1, T2, S> Serialize<S> for (T0, T1, T2)
Source§impl<T0, T1, T2, T3, S> Serialize<S> for (T0, T1, T2, T3)
impl<T0, T1, T2, T3, S> Serialize<S> for (T0, T1, T2, T3)
Source§impl<T0, T1, T2, T3, T4, S> Serialize<S> for (T0, T1, T2, T3, T4)
impl<T0, T1, T2, T3, T4, S> Serialize<S> for (T0, T1, T2, T3, T4)
Source§impl<T0, T1, T2, T3, T4, T5, S> Serialize<S> for (T0, T1, T2, T3, T4, T5)
impl<T0, T1, T2, T3, T4, T5, S> Serialize<S> for (T0, T1, T2, T3, T4, T5)
Source§impl<T0, T1, T2, T3, T4, T5, T6, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6)
impl<T0, T1, T2, T3, T4, T5, T6, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0, T1, T2, T3, T4, T5, T6, T7, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, S> Serialize<S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
Source§impl<T, S> Serialize<S> for Arc<T>
Available on target_has_atomic="ptr" and crate feature alloc only.
impl<T, S> Serialize<S> for Arc<T>
Available on
target_has_atomic="ptr" and crate feature alloc only.Source§impl<T, S> Serialize<S> for Weak<T>
Available on target_has_atomic="ptr" and crate feature alloc only.
impl<T, S> Serialize<S> for Weak<T>
Available on
target_has_atomic="ptr" and crate feature alloc only.Source§impl<T, S> Serialize<S> for RangeToInclusive<T>
impl<T, S> Serialize<S> for RangeToInclusive<T>
Source§impl<T: Serialize<S>, S: Fallible + Allocator + Writer + ?Sized> Serialize<S> for Vec<T>
Available on crate feature alloc only.
impl<T: Serialize<S>, S: Fallible + Allocator + Writer + ?Sized> Serialize<S> for Vec<T>
Available on crate feature
alloc only.