#![allow(dead_code, deprecated, unused_variables, unused_mut)] fn main() { let xs = [1, 2, 3]; let mut iter = xs.into_iter().peekable(); assert_eq!(iter.peek_mut(), Some(& mut 1)); assert_eq!(iter.peek_mut(), Some(& mut 1)); assert_eq!(iter.next(), Some(1)); if let Some(p) = iter.peek_mut() { assert_eq!(* p, 2); *p = 1000; } assert_eq!(iter.collect::< Vec < _ >> (), vec![1000, 3]); }