#[non_exhaustive]
pub enum ErrorKind {
Show 18 variants Other, NotFound, PermissionDenied, ConnectionRefused, ConnectionReset, ConnectionAborted, NotConnected, AddrInUse, AddrNotAvailable, BrokenPipe, AlreadyExists, InvalidInput, InvalidData, TimedOut, Interrupted, Unsupported, OutOfMemory, WriteZero,
}
Expand description

Possible kinds of errors.

This list is intended to grow over time and it is not recommended to exhaustively match against it. In application code, use match for the ErrorKind values you are expecting; use _ to match “all other errors”.

This is the embedded-io equivalent of [std::io::ErrorKind], except with the following changes:

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.
§

Other

Unspecified error kind.

§

NotFound

An entity was not found, often a file.

§

PermissionDenied

The operation lacked the necessary privileges to complete.

§

ConnectionRefused

The connection was refused by the remote server.

§

ConnectionReset

The connection was reset by the remote server.

§

ConnectionAborted

The connection was aborted (terminated) by the remote server.

§

NotConnected

The network operation failed because it was not connected yet.

§

AddrInUse

A socket address could not be bound because the address is already in use elsewhere.

§

AddrNotAvailable

A nonexistent interface was requested or the requested address was not local.

§

BrokenPipe

The operation failed because a pipe was closed.

§

AlreadyExists

An entity already exists, often a file.

§

InvalidInput

A parameter was incorrect.

§

InvalidData

Data not valid for the operation were encountered.

Unlike InvalidInput, this typically means that the operation parameters were valid, however the error was caused by malformed input data.

For example, a function that reads a file into a string will error with InvalidData if the file’s contents are not valid UTF-8.

§

TimedOut

The I/O operation’s timeout expired, causing it to be canceled.

§

Interrupted

This operation was interrupted.

Interrupted operations can typically be retried.

§

Unsupported

This operation is unsupported on this platform.

This means that the operation can never succeed.

§

OutOfMemory

An operation could not be completed, because it failed to allocate enough memory.

§

WriteZero

An attempted write could not write any data.

Trait Implementations§

source§

impl Clone for ErrorKind

source§

fn clone(&self) -> ErrorKind

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for ErrorKind

source§

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

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

impl Error for ErrorKind

source§

fn kind(&self) -> ErrorKind

Get the kind of this error.
source§

impl PartialEq for ErrorKind

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ErrorKind

source§

impl Eq for ErrorKind

source§

impl StructuralPartialEq for ErrorKind

Auto Trait Implementations§

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.