Commit a4f25df0 authored by Arun Raghavan's avatar Arun Raghavan Committed by Sebastian Dröge

enums: Implement the From trait for error/success

This implements the From trait for all *Error/*Success enums to the
corresponding *Return enum.
parent 6325e0fc
......@@ -47,6 +47,12 @@ pub enum StateChangeSuccess {
NoPreroll,
}
impl From<StateChangeSuccess> for StateChangeReturn {
fn from(value: StateChangeSuccess) -> Self {
StateChangeReturn::from_ok(value)
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
#[must_use]
pub struct StateChangeError;
......@@ -57,6 +63,12 @@ impl fmt::Display for StateChangeError {
}
}
impl From<StateChangeError> for StateChangeReturn {
fn from(value: StateChangeError) -> Self {
StateChangeReturn::from_error(value)
}
}
impl Error for StateChangeError {
fn description(&self) -> &str {
"Element failed to change its state"
......@@ -115,6 +127,12 @@ pub enum FlowSuccess {
Ok,
}
impl From<FlowSuccess> for FlowReturn {
fn from(value: FlowSuccess) -> Self {
FlowReturn::from_ok(value)
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
#[must_use]
pub enum FlowError {
......@@ -135,6 +153,12 @@ impl fmt::Display for FlowError {
}
}
impl From<FlowError> for FlowReturn {
fn from(value: FlowError) -> Self {
FlowReturn::from_error(value)
}
}
impl Error for FlowError {
fn description(&self) -> &str {
match *self {
......@@ -188,6 +212,12 @@ impl PadLinkReturn {
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
pub struct PadLinkSuccess;
impl From<PadLinkSuccess> for PadLinkReturn {
fn from(value: PadLinkSuccess) -> Self {
PadLinkReturn::from_ok(value)
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
#[must_use]
pub enum PadLinkError {
......@@ -205,6 +235,12 @@ impl fmt::Display for PadLinkError {
}
}
impl From<PadLinkError> for PadLinkReturn {
fn from(value: PadLinkError) -> Self {
PadLinkReturn::from_error(value)
}
}
impl Error for PadLinkError {
fn description(&self) -> &str {
match *self {
......@@ -258,6 +294,12 @@ pub enum ClockSuccess {
Done,
}
impl From<ClockSuccess> for ClockReturn {
fn from(value: ClockSuccess) -> Self {
ClockReturn::from_ok(value)
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
#[must_use]
pub enum ClockError {
......@@ -275,6 +317,12 @@ impl fmt::Display for ClockError {
}
}
impl From<ClockError> for ClockReturn {
fn from(value: ClockError) -> Self {
ClockReturn::from_error(value)
}
}
impl Error for ClockError {
fn description(&self) -> &str {
match *self {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment