pub enum SerializeHandle<'a> {
Borrowed(&'a dyn Serialize),
Owned(Boxed<dyn Serialize + Send + 'a>),
}Expand description
A handle to a Serialize type.
During serialization it common to be in a situation where one needs to
return locally constructed Serialize. This is where
SerializeHandle comes in. In cases where the Serialize cannot
be borrowed it can be boxed up inside the handle.
The equivalent for deserialization is the
SinkHandle.
Variants§
Borrowed(&'a dyn Serialize)
A borrowed reference to a Serialize.
Owned(Boxed<dyn Serialize + Send + 'a>)
Implementations§
Source§impl<'a> SerializeHandle<'a>
impl<'a> SerializeHandle<'a>
Sourcepub fn to<S: Serialize + 'a>(val: &'a S) -> SerializeHandle<'a>
pub fn to<S: Serialize + 'a>(val: &'a S) -> SerializeHandle<'a>
Create a borrowed handle to a Serialize.
Sourcepub fn arena<S: Serialize + Send + 'a>(
val: S,
state: &mut State,
) -> SerializeHandle<'a>
pub fn arena<S: Serialize + Send + 'a>( val: S, state: &mut State, ) -> SerializeHandle<'a>
Creates an owned handle to a value in the arena of the serialization.
This is how owned values are typically created (for instance for
Chunk::Forward), see Boxed.
Trait Implementations§
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for SerializeHandle<'a>
impl<'a> !Unpin for SerializeHandle<'a>
impl<'a> !UnwindSafe for SerializeHandle<'a>
impl<'a> Freeze for SerializeHandle<'a>
impl<'a> Send for SerializeHandle<'a>
impl<'a> Sync for SerializeHandle<'a>
impl<'a> UnsafeUnpin for SerializeHandle<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more