| #![warn(clippy::copy_iterator)] | |
| #![allow(clippy::manual_inspect)] | |
| #[derive(Copy, Clone)] | |
| struct Countdown(u8); | |
| impl Iterator for Countdown { | |
| //~^ copy_iterator | |
| type Item = u8; | |
| fn next(&mut self) -> Option<u8> { | |
| self.0.checked_sub(1).map(|c| { | |
| self.0 = c; | |
| c | |
| }) | |
| } | |
| } | |
| fn main() { | |
| let my_iterator = Countdown(5); | |
| assert_eq!(my_iterator.take(1).count(), 1); | |
| assert_eq!(my_iterator.count(), 5); | |
| } |