#![allow(dead_code, deprecated, unused_variables, unused_mut)] fn main() { let a = ["1", "rust", "3"]; let mut it = a.iter(); let sum = it .by_ref() .map(|&s| s.parse::()) .try_rfold(0, |acc, x| x.and_then(|y| Ok(acc + y))); assert!(sum.is_err()); assert_eq!(it.next_back(), Some(& "1")); }