#![allow(dead_code, deprecated, unused_variables, unused_mut)] fn main() { let mut iter = [1, 2, 3].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 = &5; } assert_eq!(iter.collect::< Vec < _ >> (), vec![& 5, & 3]); }