Begin removing the MyError type.

This commit is contained in:
Tom Alexander
2023-10-17 09:45:18 -04:00
parent 8417b5fc9d
commit c9d7251e3b
33 changed files with 12 additions and 76 deletions

View File

@@ -2,23 +2,19 @@ use nom::error::ErrorKind;
use nom::error::ParseError;
use nom::IResult;
pub(crate) type Res<T, U> = IResult<T, U, CustomError<T>>;
pub(crate) type Res<T, U> = IResult<T, U, CustomError>;
#[derive(Debug)]
pub enum CustomError<I> {
pub enum CustomError {
Text(String),
MyError(MyError<&'static str>),
Nom(I, ErrorKind),
Static(&'static str),
IO(std::io::Error),
BoxedError(Box<dyn std::error::Error>),
}
#[derive(Debug)]
pub struct MyError<I>(pub(crate) I);
impl<I> ParseError<I> for CustomError<I> {
impl<I: std::fmt::Debug> ParseError<I> for CustomError {
fn from_error_kind(input: I, kind: ErrorKind) -> Self {
CustomError::Nom(input, kind)
CustomError::Text(format!("{:?} {:?}", kind, input))
}
fn append(_input: I, _kind: ErrorKind, /*mut*/ other: Self) -> Self {
@@ -27,19 +23,19 @@ impl<I> ParseError<I> for CustomError<I> {
}
}
impl<I> From<std::io::Error> for CustomError<I> {
impl From<std::io::Error> for CustomError {
fn from(value: std::io::Error) -> Self {
CustomError::IO(value)
}
}
impl<I> From<&'static str> for CustomError<I> {
impl From<&'static str> for CustomError {
fn from(value: &'static str) -> Self {
CustomError::MyError(MyError(value))
CustomError::Static(value)
}
}
impl<I> From<Box<dyn std::error::Error>> for CustomError<I> {
impl From<Box<dyn std::error::Error>> for CustomError {
fn from(value: Box<dyn std::error::Error>) -> Self {
CustomError::BoxedError(value)
}

View File

@@ -1,5 +1,4 @@
#[allow(clippy::module_inception)]
mod error;
pub(crate) use error::CustomError;
pub(crate) use error::MyError;
pub(crate) use error::Res;