Enum rkyv_test::validation::validators::ArchiveError
source · [−]pub enum ArchiveError {
Overflow {
base: *const u8,
offset: isize,
},
Underaligned {
expected_align: usize,
actual_align: usize,
},
OutOfBounds {
base: *const u8,
offset: isize,
range: Range<*const u8>,
},
Overrun {
ptr: *const u8,
size: usize,
range: Range<*const u8>,
},
Unaligned {
ptr: *const u8,
align: usize,
},
SubtreePointerOutOfBounds {
ptr: *const u8,
subtree_range: Range<*const u8>,
},
SubtreePointerOverrun {
ptr: *const u8,
size: usize,
subtree_range: Range<*const u8>,
},
RangePoppedOutOfOrder {
expected_depth: usize,
actual_depth: usize,
},
UnpoppedSubtreeRanges {
last_range: usize,
},
ExceededMaximumSubtreeDepth {
max_subtree_depth: usize,
},
}
Expand description
Errors that can occur when checking archive memory.
Variants
Overflow
Computing the target of a relative pointer overflowed
Underaligned
Fields
expected_align: usize
The expected alignment of the archive
actual_align: usize
The actual alignment of the archive
The archive is under-aligned for one of the types inside
OutOfBounds
Fields
offset: isize
The offset of the relative pointer
A pointer pointed outside the bounds of the archive
Overrun
Fields
size: usize
The desired size of the type
There wasn’t enough space for the desired type at the pointed location
Unaligned
The pointer wasn’t aligned properly for the desired type
SubtreePointerOutOfBounds
The pointer wasn’t within the subtree range
SubtreePointerOverrun
Fields
size: usize
The desired size of the type
There wasn’t enough space in the subtree range for the desired type at the pointed location
RangePoppedOutOfOrder
Fields
expected_depth: usize
The expected depth of the range
actual_depth: usize
The actual depth of the range
A subtree range was popped out of order.
Subtree ranges must be popped in the reverse of the order they are pushed.
UnpoppedSubtreeRanges
Fields
last_range: usize
The depth of the last subtree that was pushed
A subtree range was not popped before validation concluded.
ExceededMaximumSubtreeDepth
Fields
max_subtree_depth: usize
The maximum depth that subtrees may be validated down to
The maximum subtree depth was reached or exceeded.
Trait Implementations
sourceimpl Debug for ArchiveError
impl Debug for ArchiveError
sourceimpl Display for ArchiveError
impl Display for ArchiveError
sourceimpl Error for ArchiveError
impl Error for ArchiveError
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl Send for ArchiveError
impl Sync for ArchiveError
Auto Trait Implementations
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(
&<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.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more