diff --git a/vm/src/frame.rs b/vm/src/frame.rs index e277ae7d2..308d9ee12 100644 --- a/vm/src/frame.rs +++ b/vm/src/frame.rs @@ -412,7 +412,7 @@ impl ExecutingFrame<'_> { self.pop_value(); self.update_lasti(|i| *i += 1); if err.isinstance(&vm.ctx.exceptions.stop_iteration) { - let val = iterator::stop_iter_value(vm, &err); + let val = vm.unwrap_or_none(err.get_arg(0)); self.push_value(val); self.run(vm) } else { diff --git a/vm/src/iterator.rs b/vm/src/iterator.rs index 718a27636..ddedbb9fb 100644 --- a/vm/src/iterator.rs +++ b/vm/src/iterator.rs @@ -25,11 +25,6 @@ where Ok(results) } -pub fn stop_iter_value(vm: &VirtualMachine, exc: &PyBaseExceptionRef) -> PyObjectRef { - let args = exc.args(); - vm.unwrap_or_none(args.as_slice().first().cloned()) -} - pub fn length_hint(vm: &VirtualMachine, iter: PyObjectRef) -> PyResult> { if let Some(len) = vm.obj_len_opt(&iter) { match len {