Enum Error

Source
#[non_exhaustive]
pub enum Error {
Show 16 variants Deserialize(DecodeError), Seserialize(EncodeError), Io(Error), InvalidSignature, InvalidRevision, InvalidHeaderSize, InvalidChecksum(u32, u32), InvalidPartitionEntryArrayChecksum(u32, u32), ReadError(Box<Error>, Box<Error>), NoSpaceLeft, ConflictPartitionGUID, InvalidPartitionBoundaries, InvalidPartitionNumber(u32), UnusedPartition, PartitionNotFound, Overflow,
}
Expand description

An error that can be produced while reading, writing or managing a GPT.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Deserialize(DecodeError)

Derialization errors.

§

Seserialize(EncodeError)

Serialization errors.

§

Io(Error)

I/O errors.

§

InvalidSignature

An error that occurs when the signature of the GPT isn’t what would be expected (“EFI PART”).

§

InvalidRevision

An error that occurs when the revision of the GPT isn’t what would be expected (00 00 01 00).

§

InvalidHeaderSize

An error that occurs when the header’s size (in bytes) isn’t what would be expected (92).

§

InvalidChecksum(u32, u32)

An error that occurs when the CRC32 checksum of the header doesn’t match the expected checksum for the actual header.

§

InvalidPartitionEntryArrayChecksum(u32, u32)

An error that occurs when the CRC32 checksum of the partition entries array doesn’t match the expected checksum for the actual partition entries array.

§

ReadError(Box<Error>, Box<Error>)

An error that occurs when reading a GPT from a file did not succeeded.

The first argument is the error that occurred when trying to read the primary header. The second argument is the error that occurred when trying to read the backup header.

§

NoSpaceLeft

An error that occurs when there is not enough space left on the table to continue.

§

ConflictPartitionGUID

An error that occurs when there are partitions with the same GUID in the same array.

§

InvalidPartitionBoundaries

An error that occurs when a partition has an invalid boundary.

The end sector must be greater or equal to the start sector of the partition.

Partitions must fit within the disk and must not overlap.

§

InvalidPartitionNumber(u32)

An error that occurs when the user provide an invalid partition number.

The partition number must be between 1 and number_of_partition_entries (usually 128) included.

§

UnusedPartition

An error that occurs when the user attempts to access information for an unused partition.

§

PartitionNotFound

An operation that required to find a partition, was unable to find that partition.

§

Overflow

An arithmetic operation overflowed.

Trait Implementations§

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 Error for Error

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 From<DecodeError> for Error

Source§

fn from(source: DecodeError) -> Self

Converts to this type from the input type.
Source§

impl From<EncodeError> for Error

Source§

fn from(source: EncodeError) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin 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> 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> 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.