drone-fatfs-sd 0.2.3

Drone STM32 Secure Digital interface to ChaN's FatFs.
//! Errors.

use drone_sd_core::errors::{CmdError, SpiInitError};

/// FatFs SD SPI command error.
#[derive(Debug, Fail)]
pub enum SdSpiError {
  /// SD SPI mode initialization error.
  #[fail(display = "Initialization error: {}", _0)]
  Init(SpiInitError),
  /// SD command error.
  #[fail(display = "Command error: {}", _0)]
  Cmd(CmdError),
}

impl From<SpiInitError> for SdSpiError {
  #[inline(always)]
  fn from(err: SpiInitError) -> Self {
    SdSpiError::Init(err)
  }
}

impl From<CmdError> for SdSpiError {
  #[inline(always)]
  fn from(err: CmdError) -> Self {
    SdSpiError::Cmd(err)
  }
}

impl From<!> for SdSpiError {
  #[allow(unreachable_code)]
  #[inline(always)]
  fn from(err: !) -> Self {
    match err {}
  }
}