Skip to main content

Error

Enum Error 

Source
pub enum Error {
    TruncatedInput {
        position: usize,
    },
    InvalidOpcode {
        position: usize,
        opcode: u8,
    },
    InvalidMatchDistance {
        distance: usize,
        available: usize,
    },
    OutputTooSmall {
        written: usize,
        capacity: usize,
    },
    SizeMismatch {
        expected: usize,
        actual: usize,
    },
    TrailingData {
        remaining: usize,
    },
    UnsupportedBlockMagic {
        magic: u32,
    },
    InvalidDecmpfsMagic {
        magic: u32,
    },
    UnsupportedDecmpfsCompressionType {
        compression_type: u32,
    },
    MissingResourceFork,
    InvalidResourceFork {
        reason: &'static str,
    },
    SizeOverflow {
        value: usize,
        max: usize,
        what: &'static str,
    },
}
Expand description

Errors produced while encoding or decoding raw LZVN streams and Apple wrappers such as bvxn and decmpfs.

Variants§

§

TruncatedInput

The input ended before a full instruction or end marker was available.

Fields

§position: usize

The byte offset where decoding needed more input.

§

InvalidOpcode

The decoder found an opcode that is reserved or undefined.

Fields

§position: usize

The byte offset of the invalid opcode.

§opcode: u8

The invalid opcode byte.

§

InvalidMatchDistance

A match referred to bytes that do not exist in the decoded history.

Fields

§distance: usize

The decoded distance from the instruction.

§available: usize

The number of bytes available for a back-reference.

§

OutputTooSmall

The output buffer cannot hold the decoded bytes.

Fields

§written: usize

The number of bytes written before the buffer filled up.

§capacity: usize

The total size of the destination buffer.

§

SizeMismatch

The decoded byte count does not match the caller’s expectation.

Fields

§expected: usize

The caller-provided expected length.

§actual: usize

The actual decoded length.

§

TrailingData

Data remains after a successful end-of-stream marker.

Fields

§remaining: usize

The number of trailing bytes.

§

UnsupportedBlockMagic

The Apple block header is well-formed but not a bvxn block.

Fields

§magic: u32

The 32-bit little-endian block magic.

§

InvalidDecmpfsMagic

The decmpfs xattr header is well-formed but does not have the expected magic value.

Fields

§magic: u32

The 32-bit little-endian decmpfs magic.

§

UnsupportedDecmpfsCompressionType

The decmpfs wrapper uses a compression type this crate does not support.

Fields

§compression_type: u32

The raw decmpfs compression type value.

§

MissingResourceFork

The decmpfs wrapper requires a resource fork but none was provided.

§

InvalidResourceFork

The decmpfs resource fork layout is malformed.

Fields

§reason: &'static str

A short description of the structural issue.

§

SizeOverflow

A size does not fit inside the target container format.

Fields

§value: usize

The size that could not be represented.

§max: usize

The maximum representable size.

§what: &'static str

A short label describing the overflowing field.

Trait Implementations§

Source§

impl Clone for Error

Source§

fn clone(&self) -> Error

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Error

Source§

impl Error for Error

1.30.0 · Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl PartialEq for Error

Source§

fn eq(&self, other: &Error) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.