diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2018-10-30 13:25:33 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2018-11-07 18:11:27 +0100 |
commit | 6c25067ba3218abbd9c4e60467559edd4d923deb (patch) | |
tree | 4d96140108936d0f40c16a96a2874fa384125e61 /src/parser | |
parent | d100fc8d0f456acfd33151de0b6225b6bf601717 (diff) |
Move code to failure as error handling library
Diffstat (limited to 'src/parser')
-rw-r--r-- | src/parser/iterator.rs | 29 | ||||
-rw-r--r-- | src/parser/mod.rs | 4 | ||||
-rw-r--r-- | src/parser/timetype.rs | 4 |
3 files changed, 20 insertions, 17 deletions
diff --git a/src/parser/iterator.rs b/src/parser/iterator.rs index f06edd0..a60892e 100644 --- a/src/parser/iterator.rs +++ b/src/parser/iterator.rs @@ -1,5 +1,7 @@ use nom::whitespace::sp; +use failure::Fallible as Result; +use failure::Error; use parser::timetype::*; use timetype::IntoTimeType; use timetype; @@ -64,7 +66,7 @@ named!(pub iterator<Iterator>, do_parse!( pub struct Iterator(Date, Iterspec, Option<UntilSpec>); impl Iterator { - pub fn into_user_iterator(self) -> error::Result<UserIterator<iter::Iter>> { + pub fn into_user_iterator(self) -> Result<UserIterator<iter::Iter>> { use iter::Times; use iter::Until; @@ -91,7 +93,8 @@ impl Iterator { let into_ndt = |e: timetype::TimeType| try!(e.calculate()) .get_moment() - .ok_or(error::KairosErrorKind::NotADateInsideIterator) + .ok_or(error::ErrorKind::NotADateInsideIterator) + .map_err(Error::from) .map(Clone::clone); match self.2 { @@ -122,7 +125,7 @@ impl Iterator { // names are hard #[derive(Debug)] pub enum UserIterator<I> - where I: ::std::iter::Iterator<Item = error::Result<timetype::TimeType>> + where I: ::std::iter::Iterator<Item = Result<timetype::TimeType>> { Iterator(iter::Iter), TimesIter(iter::TimesIter<I>), @@ -130,9 +133,9 @@ pub enum UserIterator<I> } impl<I> ::std::iter::Iterator for UserIterator<I> - where I: ::std::iter::Iterator<Item = error::Result<timetype::TimeType>> + where I: ::std::iter::Iterator<Item = Result<timetype::TimeType>> { - type Item = error::Result<timetype::TimeType>; + type Item = Result<timetype::TimeType>; fn next(&mut self) -> Option<Self::Item> { match *self { @@ -171,7 +174,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); @@ -195,7 +198,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); @@ -219,7 +222,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); @@ -243,7 +246,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); @@ -275,7 +278,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); println!("Okay: {:#?}", ui); @@ -306,7 +309,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); @@ -336,7 +339,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); @@ -366,7 +369,7 @@ mod tests { let (_, i) = res.unwrap(); println!("{:#?}", i); - let ui : Result<UserIterator<iter::Iter>, _> = i.into_user_iterator(); + let ui : Result<UserIterator<iter::Iter>> = i.into_user_iterator(); assert!(ui.is_ok(), "Not okay: {:#?}", ui); let mut ui = ui.unwrap(); diff --git a/src/parser/mod.rs b/src/parser/mod.rs index f67a3cb..c6483b4 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -49,8 +49,8 @@ use nom::IResult; mod timetype; mod iterator; -use error::Result; -use error::KairosErrorKind as KEK; +use failure::Fallible as Result; +use error::ErrorKind as KEK; use iter::Iter; use timetype::IntoTimeType; use parser::timetype::timetype; diff --git a/src/parser/timetype.rs b/src/parser/timetype.rs index 83516fe..13f111b 100644 --- a/src/parser/timetype.rs +++ b/src/parser/timetype.rs @@ -4,11 +4,11 @@ use std::str::FromStr; use nom::digit; use nom::whitespace::sp; use chrono::NaiveDate; +use failure::Fallible as Result; use timetype::IntoTimeType; use timetype; -use error::Result; -use error::KairosErrorKind as KEK; +use error::ErrorKind as KEK; named!(pub integer<i64>, alt!( map_res!( |