Note that we added a type annotation here. pub fn run(&mut self) -> Option<&'a Counters> { if let Some(mut counters) = self.field_counters.take() { To learn more, see our tips on writing great answers. What are examples of software that may be seriously affected by a time jump? Similar to Option, if you have a Vec