pub enum SafetyError {
BufferTooSmall {
needed: usize,
actual: usize,
},
Misaligned {
needed: usize,
actual: usize,
},
OffsetOutOfBounds {
offset: usize,
length: usize,
},
Overflow,
}Expand description
Error type for safety validation failures.
All variants include context information to aid debugging.
Variants§
BufferTooSmall
Buffer is too small for the requested type.
Contains the number of bytes needed and the actual buffer size.
Misaligned
Pointer is not properly aligned for the requested type.
Contains the required alignment and the actual misalignment offset.
Fields
OffsetOutOfBounds
Offset would exceed buffer bounds.
Contains the requested offset and the buffer length.
Overflow
Integer overflow occurred during size calculation.
This typically happens when multiplying count * size_of::<T>().
Trait Implementations§
Source§impl Clone for SafetyError
impl Clone for SafetyError
Source§fn clone(&self) -> SafetyError
fn clone(&self) -> SafetyError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SafetyError
Source§impl Debug for SafetyError
impl Debug for SafetyError
Source§impl Display for SafetyError
impl Display for SafetyError
impl Eq for SafetyError
Source§impl Error for SafetyError
impl Error for SafetyError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for SafetyError
impl PartialEq for SafetyError
Source§fn eq(&self, other: &SafetyError) -> bool
fn eq(&self, other: &SafetyError) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SafetyError
Auto Trait Implementations§
impl Freeze for SafetyError
impl RefUnwindSafe for SafetyError
impl Send for SafetyError
impl Sync for SafetyError
impl Unpin for SafetyError
impl UnsafeUnpin for SafetyError
impl UnwindSafe for SafetyError
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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.