| // Regression test for #22886. | |
| fn crash_please() { | |
| let mut iter = Newtype(Some(Box::new(0))); | |
| let saved = iter.next().unwrap(); | |
| println!("{}", saved); | |
| iter.0 = None; | |
| println!("{}", saved); | |
| } | |
| struct Newtype(Option<Box<usize>>); | |
| impl<'a> Iterator for Newtype { //~ ERROR E0207 | |
| type Item = &'a Box<usize>; | |
| fn next(&mut self) -> Option<&Box<usize>> { | |
| self.0.as_ref() | |
| } | |
| } | |
| fn main() { } |