diff --git a/src/eval/command/birthday.rs b/src/eval/command/birthday.rs index fdef33c..829160e 100644 --- a/src/eval/command/birthday.rs +++ b/src/eval/command/birthday.rs @@ -8,10 +8,12 @@ use super::super::EntryKind; impl<'a> CommandState<'a> { pub fn eval_birthday_spec(&mut self, spec: &BirthdaySpec) { - // This could be optimized by restricting the range via FROM and UNTIL, - // but I don't think that kind of optimization will be necessary any - // time soon. - for year in self.range.years() { + let range = match self.limit_from_until(self.range) { + Some(range) => range, + None => return, + }; + + for year in range.years() { let age = if spec.year_known { let age = year - spec.date.year(); if age < 0 {