summaryrefslogtreecommitdiffstats
path: root/src/parser/iterator.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/iterator.rs')
-rw-r--r--src/parser/iterator.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/parser/iterator.rs b/src/parser/iterator.rs
index a60892e..7d3007c 100644
--- a/src/parser/iterator.rs
+++ b/src/parser/iterator.rs
@@ -1,12 +1,11 @@
use nom::whitespace::sp;
-use failure::Fallible as Result;
-use failure::Error;
+use error::Result;
+use error::Error;
use parser::timetype::*;
use timetype::IntoTimeType;
use timetype;
use iter;
-use error;
named!(pub iter_spec<Iterspec>, alt_complete!(
tag!("secondly") => { |_| Iterspec::Secondly } |
@@ -91,30 +90,30 @@ impl Iterator {
Iterspec::Yearly => unit_to_amount(1, Unit::Year),
};
- let into_ndt = |e: timetype::TimeType| try!(e.calculate())
+ let into_ndt = |e: timetype::TimeType| e.calculate()?
.get_moment()
- .ok_or(error::ErrorKind::NotADateInsideIterator)
+ .ok_or(Error::NotADateInsideIterator)
.map_err(Error::from)
.map(Clone::clone);
match self.2 {
Some(UntilSpec::Exact(e)) => {
- let base = try!(into_ndt(self.0.into_timetype()?));
- let e = try!(into_ndt(e.into_timetype()?));
+ let base = into_ndt(self.0.into_timetype()?)?;
+ let e = into_ndt(e.into_timetype()?)?;
iter::Iter::build(base, recur)
.map(|it| UserIterator::UntilIterator(it.until(e)))
},
Some(UntilSpec::Times(i)) => {
- let base = try!(into_ndt(self.0.into_timetype()?));
+ let base = into_ndt(self.0.into_timetype()?)?;
iter::Iter::build(base, recur)
.map(|it| it.times(i))
.map(UserIterator::TimesIter)
},
None => {
- let base = try!(into_ndt(self.0.into_timetype()?));
+ let base = into_ndt(self.0.into_timetype()?)?;
iter::Iter::build(base, recur)
.map(UserIterator::Iterator)
},