From a46fb496aa71875bb6de86c40089f6f4d130d729 Mon Sep 17 00:00:00 2001 From: Noah <33094578+coolreader18@users.noreply.github.com> Date: Fri, 19 Feb 2021 08:20:32 -0600 Subject: [PATCH] tp_iternext for coroutine_wrapper --- vm/src/builtins/coroutine.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vm/src/builtins/coroutine.rs b/vm/src/builtins/coroutine.rs index 776692454..fe99d7a86 100644 --- a/vm/src/builtins/coroutine.rs +++ b/vm/src/builtins/coroutine.rs @@ -122,7 +122,7 @@ impl PyValue for PyCoroutineWrapper { } } -#[pyimpl] +#[pyimpl(with(PyIter))] impl PyCoroutineWrapper { #[pymethod] fn send(&self, val: PyObjectRef, vm: &VirtualMachine) -> PyResult { @@ -141,6 +141,12 @@ impl PyCoroutineWrapper { } } +impl PyIter for PyCoroutineWrapper { + fn next(zelf: &PyRef, vm: &VirtualMachine) -> PyResult { + zelf.send(vm.ctx.none(), vm) + } +} + pub fn init(ctx: &PyContext) { PyCoroutine::extend_class(ctx, &ctx.types.coroutine_type); PyCoroutineWrapper::extend_class(ctx, &ctx.types.coroutine_wrapper_type);