Enum ExtendedSfsmError

Source
#[non_exhaustive]
pub enum ExtendedSfsmError<T> { Internal, Custom(T), }
Expand description

An error type that will be returned by the state machine if something goes wrong.

It fulfills the same purpose that the ordinary SfsmError does, but allows the user to extend it with custom error types that are required by the fallible state machine.

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

Internal

Returned if the state machine gets stuck due to an internal error or if the state machine has not been started before stepping.

§

Custom(T)

The custom error can be returned from the error state if an error cannot be handled. In that case, the state machine bubbles the error up to the calling start or step function where it then must be handled by the user.

Trait Implementations§

Source§

impl<T> Debug for ExtendedSfsmError<T>
where T: Debug,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for ExtendedSfsmError<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for ExtendedSfsmError<T>
where T: RefUnwindSafe,

§

impl<T> Send for ExtendedSfsmError<T>
where T: Send,

§

impl<T> Sync for ExtendedSfsmError<T>
where T: Sync,

§

impl<T> Unpin for ExtendedSfsmError<T>
where T: Unpin,

§

impl<T> UnwindSafe for ExtendedSfsmError<T>
where T: UnwindSafe,

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

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.