use sim_lib_discrete_comb::CombError;
use sim_lib_discrete_graph::GraphError;
use sim_lib_discrete_spectral::SpectralError;
#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
pub enum RankAdapterError {
#[error("unsupported: {0}")]
Unsupported(String),
#[error("round-trip failure: {0}")]
RoundTrip(String),
#[error("limit exceeded: {0}")]
LimitExceeded(String),
#[error("invalid value: {0}")]
Invalid(String),
}
impl From<CombError> for RankAdapterError {
fn from(err: CombError) -> Self {
RankAdapterError::Invalid(err.to_string())
}
}
impl From<GraphError> for RankAdapterError {
fn from(err: GraphError) -> Self {
RankAdapterError::Invalid(err.to_string())
}
}
impl From<SpectralError> for RankAdapterError {
fn from(err: SpectralError) -> Self {
RankAdapterError::Invalid(err.to_string())
}
}