(&mut self)
| 1293 | |
| 1294 | #[inline] |
| 1295 | fn next(&mut self) -> Option<A::Item> { |
| 1296 | if self.removal_start < self.removal_end { |
| 1297 | match self.replacement.next() { |
| 1298 | Some(replacement) => { |
| 1299 | let removed = core::mem::replace( |
| 1300 | &mut self.parent[self.removal_start], |
| 1301 | replacement, |
| 1302 | ); |
| 1303 | self.removal_start += 1; |
| 1304 | Some(removed) |
| 1305 | } |
| 1306 | None => { |
| 1307 | let removed = self.parent.remove(self.removal_start); |
| 1308 | self.removal_end -= 1; |
| 1309 | Some(removed) |
| 1310 | } |
| 1311 | } |
| 1312 | } else { |
| 1313 | None |
| 1314 | } |
| 1315 | } |
| 1316 | |
| 1317 | #[inline] |
| 1318 | fn size_hint(&self) -> (usize, Option<usize>) { |
nothing calls this directly
no test coverage detected