Struct SizeError
struct SizeError<Src, Dst: ?Sized> { ... }
The error emitted if the conversion source is of incorrect size.
Implementations
impl<Src, Dst: ?Sized> SizeError<Src, Dst>
fn into_src(self: Self) -> SrcProduces the source underlying the failed conversion.
fn map_src<NewSrc, impl FnOnce(Src) -> NewSrc: FnOnce(Src) -> NewSrc>(self: Self, f: impl FnOnce(Src) -> NewSrc) -> SizeError<NewSrc, Dst>Maps the source value associated with the conversion error.
This can help mitigate [issues with
Send,Syncand'staticbounds][self#send-sync-and-static].Examples
use *; let source: = ; // Try to read a `u32` from `source`. This will fail because there are insufficient // bytes in `source`. let maybe_u32: = u32read_from_bytes; // Map the error's source to its size. let maybe_u32: = maybe_u32.map_err;
impl<Src, Dst> Display for SizeError<Src, Dst>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<Src, Dst> Error for SizeError<Src, Dst>
impl<Src, Dst> Freeze for SizeError<Src, Dst>
impl<Src, Dst> RefUnwindSafe for SizeError<Src, Dst>
impl<Src, Dst> Send for SizeError<Src, Dst>
impl<Src, Dst> Sync for SizeError<Src, Dst>
impl<Src, Dst> Unpin for SizeError<Src, Dst>
impl<Src, Dst> UnsafeUnpin for SizeError<Src, Dst>
impl<Src, Dst> UnwindSafe for SizeError<Src, Dst>
impl<Src, Dst: ?Sized + Unaligned> From for SizeError<Src, Dst>
fn from(err: CastError<Src, Dst>) -> SizeError<Src, Dst>Infallibly extracts the
SizeErrorfrom thisCastErrorsinceDstis unaligned.Since
Dst: Unaligned, it is impossible to encounter an alignment error, and so the only error that can be encountered at runtime is aSizeError. This method permits extracting thatSizeErrorinfallibly.Examples
use *; # use *;
impl<Src, Dst: ?Sized> Debug for SizeError<Src, Dst>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<Src: Clone, Dst: ?Sized> Clone for SizeError<Src, Dst>
fn clone(self: &Self) -> Self
impl<Src: Eq, Dst: ?Sized> Eq for SizeError<Src, Dst>
impl<Src: PartialEq, Dst: ?Sized> PartialEq for SizeError<Src, Dst>
fn eq(self: &Self, other: &Self) -> bool
impl<T> Any for SizeError<Src, Dst>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for SizeError<Src, Dst>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for SizeError<Src, Dst>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for SizeError<Src, Dst>
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for SizeError<Src, Dst>
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into for SizeError<Src, Dst>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for SizeError<Src, Dst>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for SizeError<Src, Dst>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>