Using
.next()
in a for
loop244 let mut err: i64 = dx - dy;
245 let mut current_x = x1 as i64;
246 let mut current_y = y1 as i64;
247 for _ in coordinates.iter().next() {248 let mut err: i64 = dx - dy;
249 let mut current_x = x1 as i64;
250 let mut current_y = y1 as i64;
Description
Calling .next()
on an iterator produces an Option<T>
, which also implements
IntoIterator
. This is probably a mistake, consider revisiting this for
loop.
Bad Practice
for x in [1, 2, 3].iter().next() {
// ...
}
Recommended
// if the intention was to start from the second element,
// consider using `.skip(1)`
for x in [1, 2, 3].iter().skip(1) {
// ...
}
// or
let mut my_iterator = [1, 2, 3].iter();
let _ = my_iterator.next();
for x in my_iterator {
// ...
}