Skip to content

Commit de481bc

Browse files
committed
human readable PyIterIter::next
1 parent 12c96d0 commit de481bc

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

vm/src/protocol/iter.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,11 +234,14 @@ where
234234
type Item = PyResult<T>;
235235

236236
fn next(&mut self) -> Option<Self::Item> {
237-
let obj = PyIter::new(self.obj.borrow())
238-
.next(self.vm)
239-
.map(|iret| iret.into_result().ok())
240-
.transpose()?;
241-
Some(obj.and_then(|obj| T::try_from_object(self.vm, obj)))
237+
let imp = |next: PyResult<PyIterReturn>| -> PyResult<Option<T>> {
238+
let Some(obj) = next?.into_result().ok() else {
239+
return Ok(None);
240+
};
241+
Ok(Some(T::try_from_object(self.vm, obj)?))
242+
};
243+
let next = PyIter::new(self.obj.borrow()).next(self.vm);
244+
imp(next).transpose()
242245
}
243246

244247
#[inline]

0 commit comments

Comments
 (0)