pub struct AsJson;Expand description
Wrapper that archives a value by JSON-encoding it into a String.
Use this with #[rkyv(with = AsJson)] on fields whose types contain
serde_json::Value (which does not implement rkyv’s Archive trait).
Supported field types:
serde_json::ValueBTreeMap<String, serde_json::Value>Vec<serde_json::Value>Option<serde_json::Value>Option<BTreeMap<String, serde_json::Value>>Option<Vec<serde_json::Value>>Vec<(PathBuf, u64)>(used for cache fingerprints)
§Limitations
The Vec<(PathBuf, u64)> impl uses to_string_lossy for path conversion.
Non-UTF-8 path components are silently replaced with U+FFFD, causing
fingerprint mismatches and perpetual cache misses on such paths.
Trait Implementations§
Source§impl ArchiveWith<Value> for AsJson
impl ArchiveWith<Value> for AsJson
Source§impl<D: Fallible + ?Sized> DeserializeWith<<Option<String> as Archive>::Archived, Option<BTreeMap<String, Value>>, D> for AsJson
impl<D: Fallible + ?Sized> DeserializeWith<<Option<String> as Archive>::Archived, Option<BTreeMap<String, Value>>, D> for AsJson
Source§impl<D: Fallible + ?Sized> DeserializeWith<<Option<String> as Archive>::Archived, Option<Value>, D> for AsJson
impl<D: Fallible + ?Sized> DeserializeWith<<Option<String> as Archive>::Archived, Option<Value>, D> for AsJson
Source§impl<D: Fallible + ?Sized> DeserializeWith<<Option<String> as Archive>::Archived, Option<Vec<Value>>, D> for AsJson
impl<D: Fallible + ?Sized> DeserializeWith<<Option<String> as Archive>::Archived, Option<Vec<Value>>, D> for AsJson
Source§impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, BTreeMap<String, Value>, D> for AsJson
impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, BTreeMap<String, Value>, D> for AsJson
Source§impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, Value, D> for AsJson
impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, Value, D> for AsJson
Source§impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, Vec<(PathBuf, u64)>, D> for AsJson
impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, Vec<(PathBuf, u64)>, D> for AsJson
Source§impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, Vec<Value>, D> for AsJson
impl<D: Fallible + ?Sized> DeserializeWith<<String as Archive>::Archived, Vec<Value>, D> for AsJson
Source§impl<S: Fallible + Writer + Allocator + ?Sized> SerializeWith<BTreeMap<String, Value>, S> for AsJson
impl<S: Fallible + Writer + Allocator + ?Sized> SerializeWith<BTreeMap<String, Value>, S> for AsJson
Source§impl<S: Fallible + Writer + Allocator + ?Sized> SerializeWith<Option<BTreeMap<String, Value>>, S> for AsJson
impl<S: Fallible + Writer + Allocator + ?Sized> SerializeWith<Option<BTreeMap<String, Value>>, S> for AsJson
Source§impl<S: Fallible + Writer + Allocator + ?Sized> SerializeWith<Option<Vec<Value>>, S> for AsJson
impl<S: Fallible + Writer + Allocator + ?Sized> SerializeWith<Option<Vec<Value>>, S> for AsJson
Auto Trait Implementations§
impl Freeze for AsJson
impl RefUnwindSafe for AsJson
impl Send for AsJson
impl Sync for AsJson
impl Unpin for AsJson
impl UnsafeUnpin for AsJson
impl UnwindSafe for AsJson
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.