parent
37dc15badb
commit
45eae6fd07
1 changed files with 20 additions and 1 deletions
|
@ -1,5 +1,6 @@
|
||||||
use std::fmt;
|
use std::fmt::{self, Display};
|
||||||
use std::convert::From;
|
use std::convert::From;
|
||||||
|
use std::error::Error;
|
||||||
use yaml::{Hash, Yaml};
|
use yaml::{Hash, Yaml};
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug)]
|
#[derive(Copy, Clone, Debug)]
|
||||||
|
@ -8,6 +9,24 @@ pub enum EmitError {
|
||||||
BadHashmapKey,
|
BadHashmapKey,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Error for EmitError {
|
||||||
|
fn description(&self) -> &str {
|
||||||
|
match *self {
|
||||||
|
EmitError::FmtError(ref err) => err.description(),
|
||||||
|
EmitError::BadHashmapKey => "bad hashmap key",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Display for EmitError {
|
||||||
|
fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
match *self {
|
||||||
|
EmitError::FmtError(ref err) => Display::fmt(err, formatter),
|
||||||
|
EmitError::BadHashmapKey => formatter.write_str("bad hashmap key"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl From<fmt::Error> for EmitError {
|
impl From<fmt::Error> for EmitError {
|
||||||
fn from(f: fmt::Error) -> Self {
|
fn from(f: fmt::Error) -> Self {
|
||||||
EmitError::FmtError(f)
|
EmitError::FmtError(f)
|
||||||
|
|
Loading…
Reference in a new issue