2
0
Fork 0
mirror of https://github.com/rust-lang/rust-clippy synced 2025-03-01 05:47:25 +00:00
rust-clippy/tests/ui/copy_iterator.rs
2019-01-08 21:46:39 +01:00

23 lines
467 B
Rust

#![warn(clippy::copy_iterator)]
#[derive(Copy, Clone)]
struct Countdown(u8);
impl Iterator for Countdown {
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);
let a: Vec<_> = my_iterator.take(1).collect();
assert_eq!(a.len(), 1);
let b: Vec<_> = my_iterator.collect();
assert_eq!(b.len(), 5);
}