snark-tool 0.4.0

snark-tool library contains structures and algorithm for (mainly) cubic graph analysis
Documentation

use std::num::ParseIntError;
use std::{fmt, io, num};
use std::fmt::Formatter;

#[derive(Debug)]
pub struct ReadError {
    pub message: String,
}

impl fmt::Display for ReadError {
    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
        write!(f, "read error: {}", self.message)?;
        Ok(())
    }
}

impl From<num::ParseIntError> for ReadError {
    fn from(error: ParseIntError) -> Self {
        let message = format!("nested parse int error: {}", error);
        ReadError { message }
    }
}

impl From<io::Error> for ReadError {
    fn from(error: io::Error) -> Self {
        let message = format!("nested io error: {}", error);
        ReadError { message }
    }
}

#[derive(Debug)]
pub struct WriteError {
    pub message: String,
}

impl From<io::Error> for WriteError {
    fn from(error: io::Error) -> Self {
        let message = format!("nested io error: {}", error);
        WriteError { message }
    }
}

impl From<ReadError> for WriteError {
    fn from(error: ReadError) -> Self {
        let message = format!("nested read error: {}", error);
        WriteError { message }
    }
}