pub struct RefAsBox;
Expand description
A wrapper that serializes a reference as if it were boxed.
Unlike Inline
, unsized references can be serialized with RefAsBox
.
References serialized with RefAsBox
cannot be deserialized because the struct cannot own the
deserialized value.
Example
use rkyv::{Archive, with::RefAsBox};
#[derive(Archive)]
struct Example<'a> {
#[with(RefAsBox)]
a: &'a i32,
#[with(RefAsBox)]
b: &'a str,
}
Trait Implementations
sourceimpl<F: ArchiveUnsized + ?Sized> ArchiveWith<&'_ F> for RefAsBox
impl<F: ArchiveUnsized + ?Sized> ArchiveWith<&'_ F> for RefAsBox
type Archived = ArchivedBox<F::Archived>
type Archived = ArchivedBox<F::Archived>
The archived type of a With<F, Self>
.
type Resolver = BoxResolver<F::MetadataResolver>
type Resolver = BoxResolver<F::MetadataResolver>
The resolver of a With<F, Self>
.
sourceimpl<F: SerializeUnsized<S> + ?Sized, S: Fallible + ?Sized> SerializeWith<&'_ F, S> for RefAsBox
impl<F: SerializeUnsized<S> + ?Sized, S: Fallible + ?Sized> SerializeWith<&'_ F, S> for RefAsBox
Auto Trait Implementations
impl RefUnwindSafe for RefAsBox
impl Send for RefAsBox
impl Sync for RefAsBox
impl Unpin for RefAsBox
impl UnwindSafe for RefAsBox
Blanket Implementations
sourceimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
sourcefn pointer_metadata(_: &Self::ArchivedMetadata) -> <Self as Pointee>::Metadata
fn pointer_metadata(_: &Self::ArchivedMetadata) -> <Self as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more