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§
Source§impl<F: ArchiveUnsized + ?Sized> ArchiveWith<&F> for RefAsBox
impl<F: ArchiveUnsized + ?Sized> ArchiveWith<&F> for RefAsBox
Source§type Archived = ArchivedBox<<F as ArchiveUnsized>::Archived>
type Archived = ArchivedBox<<F as ArchiveUnsized>::Archived>
The archived type of a
With<F, Self>.Source§type Resolver = BoxResolver<<F as ArchiveUnsized>::MetadataResolver>
type Resolver = BoxResolver<<F as ArchiveUnsized>::MetadataResolver>
The resolver of a
With<F, Self>.Auto Trait Implementations§
impl Freeze for RefAsBox
impl RefUnwindSafe for RefAsBox
impl Send for RefAsBox
impl Sync for RefAsBox
impl Unpin for RefAsBox
impl UnwindSafe for RefAsBox
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.