From 8fdd1a63533b3074c419fb39e3625a96a0409c2a Mon Sep 17 00:00:00 2001 From: Avril Date: Sun, 2 Aug 2020 01:25:22 +0100 Subject: [PATCH] box? --- src/config/error.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/config/error.rs b/src/config/error.rs index bfc3d91..e7f7f94 100644 --- a/src/config/error.rs +++ b/src/config/error.rs @@ -7,6 +7,7 @@ use std::{ #[derive(Debug)] pub enum Error { IO(io::Error), + Syntax(sexp::Error), Unknown, } @@ -17,6 +18,7 @@ impl std::error::Error for Error { Some(match &self { Self::IO(io) => io, + Self::Syntax(sy) => sy, _ => return None, }) } @@ -27,7 +29,9 @@ impl std::fmt::Display for Error { match self { Self::IO(io) => write!(f, "i/o error: {}", io), - Self::Unknown => write!(f, "unknown error") + Self::Syntax(sy) => write!(f, "s-expression syntax error: {}", sy), + + _ => write!(f, "unknown error") } } } @@ -40,3 +44,18 @@ impl From for Error } } +impl From for Error +{ + fn from(from: sexp::Error) -> Self + { + Self::Syntax(from) + } +} + +impl From> for Error +{ + fn from(from: Box) -> Self + { + Self::Syntax(*from) + } +}